|
当创建托管代码中的 XML Web services 时,您通过将 WebMethod 属性放置在 Public 方法的方法声明之前指示在该 XML Web services 中可用的方法。虽然 Private 方法可以在同一个类中,并且 XML Web services 代码可以调用它们,但是 Private 方法不能用作 XML Web services 的入口点。WebMethod 属性必须应用于每个作为 XML Web services 的一部分可用的公共方法。有关更多信息,请参见asp">定义 XML Web services 方法。
下面的过程假定您正在使用类的公共方法,该类是 XML Web services 的实现。有关更多信息,请参见asp">托管代码中的 XML Web services 的代码模型。
创建 XML Web services 方法
- 在“解决方案资源管理器”中选择您的 .asmx 文件(例如,Service1.asmx)。在“视图”菜单上,单击“代码”以查看代码隐藏文件。或者,在“解决方案资源管理器”中右击 .asmx 文件,然后在快捷菜单上单击“查看代码”。
注意 默认情况下,“解决方案资源管理器”隐藏代码隐藏文件。在“解决方案资源管理器”工具栏中单击“显示所有文件”可查看隐藏文件。或者,在“项目”菜单上单击“显示所有文件”。
.asmx 文件在 .asmx 文件的 WebService 处理指令的 Class 属性中指定作为 XML Web services 实现的类。下面是一个示例: ' Visual Basic
<%@ WebService Language="vb" Codebehind="Service1.asmx.vb"
Class="WebService1.Service1" %>
// C#
<%@ WebService Language="c#" Codebehind="Service1.asmx.cs"
Class="WebService1.Service1" %>
如果您重命名该类,一定也要在 WebService 指令的 Class 属性中更改类名。
- 将公共方法添加到 .asmx 文件的 WebService 处理指令的 Class 属性中指定的类,如下所示:
' Visual Basic
Public Class Service1
Inherits System.Web.Services.WebService
<System.Web.Services.WebMethod()> _
Public Function ConvertTemperature(ByVal dFahrenheit As Double) _
As Double
ConvertTemperature = ((dFahrenheit - 32) * 5) / 9
End Function
End Class
// C#
public class Service1 : System.Web.Services.WebService
{
[System.Web.Services.WebMethod()]
public double ConvertTemperature(double dFahrenheit)
{
return ((dFahrenheit - 32) * 5) / 9;
}
}
将 WebMethod 属性附加到 Public 方法表示希望将该方法公开为 XML Web services 的一部分。有关更多信息,请参见asp">托管代码中的 XML Web services 的代码模型。
|