如何:定义 ASP.NET Web 服务的操作
更新:2007 年 11 月
在应用程序设计器和系统设计器中,可以定义 .NET Web 服务提供方终结点的操作。可使用“Web 服务详细信息”窗口来执行此任务。有关更多信息,请参见应用程序关系图上的 ASP.NET 应用程序概述。
提示: |
---|
可以通过指定 WSDL 或 .disco 文件来用预定义的操作签名和类型创建 .NET Web 服务提供方终结点。随后,可以在“Web 服务详细信息”窗口中编辑这些操作。有关更多信息,请参见如何:向应用程序添加终结点。 |
在为某个 .NET Web 服务提供方终结点定义操作时,您是在为该终结点的所有使用定义操作。定义了这些操作后,可以随时使用“Web 服务详细信息”窗口来编辑它们。实现了具有 .NET Web 服务提供方终结点的 ASP.NET 应用程序后,可以通过“Web 服务详细信息”窗口或代码来编辑终结点的操作,两种方式是保持同步的。有关更多信息,请参见如何:编辑 ASP.NET Web 服务的操作。
说明: |
---|
在 ASP.NET 应用程序项目中,应用程序上的每个 Web 服务提供方终结点都有一个 Web 服务类文件。每个 Web 服务类文件中都包含对应 Web 服务提供者终结点的操作签名。每个操作签名连同所有注释一起以具有 WebMethod 属性的方法形式出现在 Web 服务类文件中。可以添加适当的方法体代码以完成每个操作的实现。 |
定义 Web 服务操作
在关系图上,选择一个 Web 服务提供方终结点。
在“关系图”菜单上选择“定义操作”。
提示: 还可以右击终结点来选择“定义操作”。
此时会出现“Web 服务详细信息”窗口。
在“Web 服务详细信息”窗口中的操作行上,单击“名称”下面的“<添加操作>”,然后命名该操作。
在同一行的“类型”下,根据需要指定操作返回类型。如果不需要指定类型,请继续步骤 7。
说明: 默认情况下,操作不返回任何数据,除非已显式定义要这样做。不返回任何数据的操作的表示取决于为 Web 服务指定的语言。如果使用的是 Visual Basic,则不指定任何操作返回类型。如果使用的是 Visual C#,则操作的默认返回类型为 void。接口类型不能序列化,而且还会在创建与 Web 服务连接的任何 Web 引用时产生错误。
要选择类型,请开始键入以查看类型列表。
键入时,列表会打开并显示可用类型。
提示: 如果需要的类型不在类型列表中,请使用完全限定的类型名称,指定在另一个项目或类型库中定义的类型,或者指定要在实现后定义的新类型。若要完成类型的指定,请继续键入需要的类型的名称。
通过按 Enter 或单击另一个单元格来离开此单元格。
说明: 按 Tab 键将用类型列表中最匹配的类型替换您指定的类型。
在“摘要”下添加关于操作的任何注释。
提示: 若要添加更多信息,请单击“省略号”(“…”)按钮打开“说明”对话框。然后,您可以指定关于 WSDL 说明、操作返回类型(如果有的话)以及其他备注的更多注释。指定的所有 WSDL 说明信息都会出现在 WSDL 文件中。
实现 ASP.NET 应用程序之前,类型列表中只显示在 Microsoft 核心库 (MSCorLib.dll) 以及其他许多隐式引用的类型库中定义的那些类型。但是,您可以引用在其他类型库和项目中定义的类型,也可以引用计划将来在实现应用程序之后使用代码或类设计器定义的类型。
如果引用在其他项目或类型库中定义的类型,必须在实现应用程序后添加对这些项目或库的引用。类型列表中将包括在所有显式引用的项目和类型库中定义的所有类型。有关更多信息,请参见如何:在 Visual Studio 中添加和移除引用 (C#)。
如果引用计划在以后定义的类型,那么,在实现应用程序后向应用程序项目添加类文件或类关系图以定义该类型之前,该类型不会出现在类型列表中。有关更多信息,请参见 如何:定义 ASP.NET Web 服务的操作和参数类型。
定义操作后,可以定义其参数或在下一个操作行上定义另一个操作。
定义 Web 服务操作的参数
在“Web 服务详细信息”窗口展开操作节点。
在操作下面的参数行上,单击“名称”下的“<添加参数>”,然后命名该参数。
提示: 选择操作中的唯一参数名。
在“类型”下,根据需要指定参数类型。
在“修饰符”下,选择如何传递该参数。
在“摘要”下添加关于该参数的任何注释。
提示: 若要添加更多信息,请单击“省略号”(“…”)按钮打开“说明”对话框。
定义参数后,可以在下一个参数行定义新参数。还可以在“属性”窗口中通过属性定义参数。
请参见
任务
如何:为 ASP.NET Web 服务指定单向操作或“请求-响应”操作