【考點】
建立web service的基本**。
【解答】
在vs 2008中新增新的web服務**模板到websvrm專案,並命名為mywebsv.asmx。這個**檔案實際已經具備了web service的基本**結構,這裡編寫乙個能將小寫字母轉換為大寫字母的web service應用。首先編寫mywebsv.asmx.cs如**13.1所示。
**13.1 轉換大寫字母的web service:mywebsv.asmx.cs
using system;
using system.collections;
using system.componentmodel;
using system.data;
using system.linq;
using system.web;
using system.web.services;
using system.web.services.protocols;
using system.xml.linq;
namespace websvrm}}
然後在websvrm專案中新增web引用,位址為「http://localhost/mywebsv.asmx」,這時專案目錄下將生成web references目錄,這個目錄包含有localhost子目錄。然後在websvrm專案的預設首頁,即default.aspx中呼叫web service以輸出結果,首先編寫default.aspx如**13.2所示。
**13.2 呼叫web service的頁面:default.aspx
<%@ page language="c#" autoeventwireup="true" codebehind="default.aspx.cs" inherits="websvrm._default" %>
最後編寫default.aspx.cs如**13.3所示。
**13.3 呼叫web service的邏輯**:default.aspx.cs
using system;
using system.collections;
using system.configuration;
using system.data;
using system.linq;
using system.web;
using system.web.security;
using system.web.ui;
using system.web.ui.htmlcontrols;
using system.web.ui.webcontrols;
using system.web.ui.webcontrols.webparts;
using system.xml.linq;
namespace websvrm}}
開啟ie瀏覽器,在瀏覽器位址列輸入「http://localhost/sendhtml.aspx」,並輸入「microsoft .net framework」到textbox控制項中,然後單擊「開始轉換」按鈕,頁面執行效果如圖13.2所示。
圖13.2 web service呼叫例項
【分析】
本題考查面試者利用vs 2008等開發環境建立web service應用的基本方法,因為是基本方法,所以不涉及太多概念。實際上,用該方法建立web service應用最為簡便,其中很多任務作已經被vs 2008等開發環境封裝,對於很多程式設計者,這些細節部分是透明的。解答中所建立的web service方法非常簡單,在呼叫web service方法時,直接新增web引用即可。開啟新增web引用時自動建立的localhost目錄,如圖13.3所示。
圖13.3 新增web引用後生成的檔案
可見,vs 2008的確做了很多任務作,自動建立了4個檔案,其中mywebsv.disco檔案用於web service的靜態發現服務,即使用disco定位。不過最常用的web service發現服務是使用uddi發現,即向uddi伺服器註冊所建立的web service,這樣整個internet上的其他使用者可以呼叫該web service的功能了。其中的mywebsv.wsdl是該web service的服務描述,以方便呼叫方了解web service的功能等資訊。reference.cs是客戶端的**類,可用於客戶端程式以所屬平台的方式直接呼叫web service提供的方法等。reference.map是乙個xml檔案,映**所序列化的檔案,即*.disco檔案和*.wsdl檔案。在實際的專案開發中,web service的這些細節工作一般由程式設計者手動編寫,這樣更適用於不同專案的需求。
建立乙個簡單的執行緒
handle createthread in opt lpsecurity attributes lpthreadattributes,security attributes 結構指定了這個執行緒的安全屬性,如果填 null 則就以預設的安全描述子建立,並且返回的控制代碼不會被繼承。in size ...
建立乙個簡單的畫板
1.cv.createtrackbar 有5個引數 滑動條的名字 視窗的名字 數值的最小值 數值的最大值 函式2.cv.gettrackbarpos 有2個引數 滑動條的名字 視窗的名字 函式的返回值是滑動條的數值。import cv2 as cv import numpy as np def no...
建立乙個簡單的systemverilog程式
作為乙個物件導向的語言,免不了來乙個國際慣例 hello world!下面是完整的 program tb initial begin display hello,world endendprogram 用modelsim進行編譯和執行 hello,world 解釋 跟c語言的main函式類似,sv語...