|
<p >本文描述了一个用以转换华氏温度为摄氏温度的Web Service的创建过程,它使用Visual Basic或C#语言进行开发,所有的代码均被编译为“中间语言”(MSIL),然后由通用语言运行环境执行。 <p ><ccid_nobr><strong>开发步骤 </strong></ccid_nobr><p >在开发中,我们将完成以下工作: <p >1.创建一个Web Service实现将一个华氏标准温度转换成摄氏标准温度; <p >2.使用Web Service的描述页测试Web Service的功能。 <p ><ccid_nobr><strong>创建Web Service工程 </strong></ccid_nobr><p >我们可以通过使用Visual Studio提供的模板为Web Service启动一个工程及其必需的文件,可选择使用Visual Basic或是C#开发语言来实现,实现步骤如下: <p >1.在File选单中,选择New,然后点击Project。 <p >2.在New Project对话框中,选择Visual Basic Projects或Visual C# Projects文件夹。 <p >并执行如下步骤: <p >(1)点击Web Service图标; <p >(2)将工程的名字改为TempConvert1。 <p >3.如果需要,输入一个你能用以开发Web Service的Web服务器地址。 <p ><ccid_nobr><strong>注意 </strong></ccid_nobr><p ><ccid_nobr><I>此Web服务器称为你的开发服务器,因为在默认情况下,开发服务器和Visual Studio所在的机器是同一台机器,工程将在开发服务器上开发及编译。 </I></ccid_nobr><p >4.点击OK创建此工程。 <p >Visual Studio将自动创建必要的文件和包含必要的References以支持Web Service。 <p ><ccid_nobr><strong>实现Web Service程序 </strong></ccid_nobr><p >在这一步,我们将编写为Web Service客户提供真实服务的代码,这些代码将置于Visual Studio为我们创建的Code-Behind文件中,Code-Behind文件的后缀名可以是.cs(C#)或是.vb(Visual Basic),这取决于创建Web Service时我们选择了哪种语言。具体实现Web Service程序的步骤如下: <p >1.在Solution Explorer中,展开References文件夹检查是否有一个Reference到System.Xml.Serialization。如果没有则加上它以便进行SOAP编码。 <p >2.在Solution Explorer中选择Service1.asmx (Visual Basic)或WebService1.asmx (C#)然后按F7来查看Code-behind文件。或者,在View选单点击Code进行查看。 <p ><ccid_nobr><strong>注意 </strong></ccid_nobr><p ><ccid_nobr><I>Code-Behind文件默认是隐藏的。在Solution Explorer工具条上点击“Show All Files”图标以显示隐藏的文件,或者在Project选单中,点击Show All Files。 </I></ccid_nobr><p >3.定位到Web Service代码并输入符合你所选语言的程序。 <p >编写的Visual Basic代码如下: <p ><ccid_nobr><table align="center" border="1" bordercolordark="#FFFFFF" bordercolorlight="black" cellpadding="2" cellspacing="0" width="550"><tr><td bgcolor="e6e6e6" class="code"><pre> Public Function <WebMethod()> ConvertTemperature()> _ConvertTemperature(ByVal dFahrenheit As Double) As Double ConvertTemperature=((dFahrenheit-32)?5)/9EndFunction </pre></td></tr></table></ccid_nobr><p >编写的C#代码如下: <p ><ccid_nobr><table align="center" border="1" bordercolordark="#FFFFFF" bordercolorlight="black" cellpadding="2" cellspacing="0" width="550"><tr><td bgcolor="e6e6e6" class="code"><pre> [WebMethod]public double ConvertTemperature(double dFahrenheit) {return ((dFahrenheit - 32) ?5) / 9;} </pre></td></tr></table></ccid_nobr><p >编写代码时需注意以下两点: <p >(1)Web Service支持一个大多数编程语言都支持的数据类型子集。当创建Web Service的时候,确信你指定的参数和返回值类型是所支持的类型; <p >(2)将WebMethod属性附加到方法上,另外,类和方法都必须标记为Public。 <p >4.在Solution Explorer里选择Service1.asmx(Visual Basic)或WebService1.asmx(C#)。 <p >5.到Project 选单,定位到Web Project,然后点击Set as Start Page。 <p >6.保存并编译程序。 <p ><ccid_nobr><strong>测试及部署Web Service </strong></ccid_nobr><p >当一个.asmx文件在浏览器打开时,一个默认的描述页就显示出来,它提供了关于Web Service的有关信息。 <p >1.在Solution Explorer里选择Service1.asmx (Visual Basic)或WebService1.asmx (C#)。 <p >2.到File选单,点击View in Browser。 <p >3.在dFahrenheit文本框中,输入数字212然后点击Invoke按钮,Web Service将返回一个XML文档中转换过的值响应,形如: <p ><ccid_nobr><table align="center" border="1" bordercolordark="#FFFFFF" bordercolorlight="black" cellpadding="2" cellspacing="0" width="550"><tr><td bgcolor="e6e6e6" class="code"><pre> <?xml version="1.0"?><double xmlns="http://tempuri.org/">100</double> </pre></td></tr></table></ccid_nobr><p >4.部署工程。要使你的Web Service对其他人有效,你需要将它部署到一个能和你想支持的用户连接的Web服务器上。 <p ><p >(责任编辑 <ccid_nobr>赵正北</ccid_nobr>) <p align="center"></p></p> |
|