深蓝海域KMPRO

使用Visual Basic或C#创建Web Service

2002-09-16 09:55

使用Visual Basic或C#创建Web Service

下面的内容描述了一个用以转换华氏温度为摄氏温度的Web Service创建过程,它使用Visual Basic或是C#。所有的受控代码均被编译为“中间语言”(MSIL:Microsoft intermediate language),然后由通用语言运行环境执行。

注 开发者使用C#或Visual Basic创建Web Service的过程几乎是一样的。在这里,每一段代码样本都将用C#和Visual Basic展示。

我们将完成以下工作:

创建一个Web Service将一个华氏标准温度转换成摄氏温度标准。
?
使用Web Service的描述页测试Web Service的功能。

要完成下面的步骤,必须提供:
?
一台满足创建Web工程需要的机器。

本文包括以下内容:
?
创建Web Service工程
?
实现Web Service
?
新增方法及编译Web Service
?
测试及部署Web Service

创建Web Service工程

可以通过使用Visual Studio提供的模板为Web Service启动一个工程及其必需的文件,可选择使用Visual Basic或是C#。

1、 到File菜单,定位到New,然后点击Project。

2、 在New Project对话框,选择Visual Basic Projects或Visual C# Projects文件夹之一。

3、 点击Web Service图标。

4、 将工程的名字改为TempConvert1。

5、 如果必要,输入一个你能用以开发Web Service的Web服务器地址。

注 此服务器称为你的开发服务器。在默认情况下,开发服务器和Visual Studio所在的机器是同一台机器。工程在开发服务器上开发及编译。
6、 点击OK创建此工程。

Visual Studio自动创建必要的文件和包含必要的References以支持Web Service。

实现Web Service

在这步,我们将编写为Web Service客户提供真实服务的代码。这些代码将置于Visual Studio为我们创建的Code Behind文件中,这些文件关联到Web Service 的.asmx文件。Code-Behind文件可以是.cs(C#)或是.vb(Visual Basic)其中之一,取决于创建Web Service时我们选择了哪种语言。

新增方法及编译Web Service

1、 在Solution Explorer中,展开References文件夹检查是否有一个Reference到System.Xml.Serialization。如果没有则加上它以便能够进行SOAP Section 5编码。

2、 在Solution Explorer中选择Service1.asmx (Visual Basic)或WebService1.asmx (C#)然后按F7来查看Code-behind文件。或者,在View菜单点击Code。

注 Code-Behind文件默认是隐藏的。在Solution Explorer工具条上点击“Show All Files”图标以显示隐藏的文件。或者,在Project菜单,点击Show All Files。

注 默认情况下,使用Visual Basic或C#实现的Web Service并没有利用可选的,在SOAP 1.1规格Section 5中所描述的SOAP编码格式。要创建一个利用Section 5 编码格式的受控代码Web Service,有必要增加SoapService属性到Web Service的类实现当中,并且指定一个RPC SoapService格式。详情参见Visual Studio.NET Beta 1 CD-ROM Disc 1根目录中的readme.htm文件。

3、 定位到Web Service样例(Hello World)代码并在它的位置输入符合你所选语言的代码:

' Visual Basic

Public Function <WebMethod()> ConvertTemperature(ByVal dFahrenheit As Double) As Double

ConvertTemperature = ((dFahrenheit - 32) * 5) / 9

End Function

// C#

[WebMethod]

public double ConvertTemperature(double dFahrenheit) {

return ((dFahrenheit - 32) * 5) / 9;

}

注 Web Services支持一个大多数编程语言都支持的数据类型子集。当创建Web Services的时候,确信你指定的参数和返回值类型是所支持的类型。

将WebMethod属性附加到方法上,指出它将作为Web Service的一部分Expose出去。另外,类和方法都必须标记为Public。

4、 在Solution Explorer里选择Service1.asmx(Visual Basic)或WebService1.asmx(C#)。

5、 到Project菜单,定位到Web Project,然后点击Set as Start Page。

6、 保存Solution。

7、 到Build菜单,点击Build。

测试及部署Web Service

当一个.asmx文件在浏览器打开时,一个默认的描述页就显示出来,它提供了关于Web Service的有关信息。此页中标签为SDL Contract的链接将带你到一个包含此Web Service的服务描述文档。

1、 在Solution Explorer里选择Service1.asmx (Visual Basic)或WebService1.asmx (C#)。

2、 到File菜单,点击View in Browser。

3、 在dFahrenheit文本框中,输入数字212然后点击Invoke按钮。

Web Service 将经由返回在一个XML文档中转换过的值响应,形如:

<?xml version="1.0"?>

<double xmlns="http://tempuri.org/">100</double>

4、 部署工程

要使你的Web Service对其他人有效,你需要将它部署到一个能和你想支持的用户连接的WEB服务器上。
关于部署,请参看其他资料。

相关推荐