间接 Web 服务连接
ASP.NET Web 服务可用作在类库中编写的业务函数的外观。分布式系统设计器不支持在应用程序关系图上设计或表示类库,但是,如果在 ASP.NET 应用程序中创建了正确的配置文件项,则应用程序设计器可以表示类库(由应用程序关系图上描述的 ASP.NET 应用程序和其他应用程序引用)中实现的行为之间的交互。下面的过程演示如何进行此操作。此过程只能在生成(实现)ASP.NET 应用程序代码之后完成。
在应用程序关系图上表示类库项目
-
打开一个应用程序关系图。
-
将 ASP.NETWebService 应用程序添加到该关系图中,并将其命名为“MyWebService”。选择 Web 服务终结点标签并将该终结点命名为“FirstWebService”。
-
实现 MyWebService。
此操作将创建要从类库(不久将生成)连接到的 Web 服务。
-
将 ASP.NETWebApplication 添加到关系图 MyWebApplication 中并实现它。此操作将创建使用类库中的函数访问上面生成的 Web 服务的客户端 Web 应用程序。
-
选择 ASP.NETWebApplication,右击并选择“设置和约束”以查看设置和约束编辑器。
-
在“应用程序设置”->“Web 应用程序”->“配置”下选择“NetSectionGroup”,右击并选择“添加资源”,然后选择“SettingsSection”。
添加此资源后,web.config 将显示在解决方案资源管理器中。
注意
实现了 Web 应用程序(即生成的项目和代码文件),并通过在设置和约束编辑器中直接修改或通过应用程序关系图上的其他操作间接修改,更改了某一项默认的 web.config 设置之后,该 web.config 文件在解决方案资源管理器中才可用。修改 web.config 的间接操作示例包括将 Web 应用程序连接至外部 Web 服务或外部数据库。
-
在“解决方案资源管理器”中,右击“解决方案”节点,然后选择“添加新项目”。
随即出现“添加新项目”对话框。
-
在“项目类型”下,选择“Visual Basic”或“Visual C#”,然后选择“Windows”。在“模板”下,选择“类库”,然后单击“确定”。
-
在“解决方案资源管理器”中选择对应的类库项目,右击并选择“添加 Web 引用”。
随即出现“添加 Web 引用”对话框。
-
单击“此解决方案中的 Web 服务”。
-
在“此解决方案中的 Web 服务”之下单击已添加的 MyWebService Web 服务,再单击“添加引用”。
此操作将在类库中创建一个对已创建的 Web 服务的 Web 引用。
-
生成类库。
此操作将在类库项目中创建一个 app.config 文件。
-
选择 MyWebApplication Web 应用程序项目,右击并选择“添加引用”。
随即出现“添加引用”对话框。
-
选择该对话框中的“项目”选项卡,然后选择类库项目。单击“确定”。
-
在 Web 应用程序项目中打开 web.config 文件。
-
从类库项目中打开 app.config 文件。
-
从 app.config 中复制 applicationSettings 节组并将其粘贴到 web.config 中。请确保也在 configSections 元素中进行了复制。该节组与如下所示类似:
<configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="ClassLibrary1.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </sectionGroup> </configSections>
-
从 app.config 中复制 applicationSettings 节并将其粘贴到 web.config 的 configSections 下方。applicationSettings 节与如下所示类似:
<applicationSettings> <ClassLibrary1.Settings> <setting name="ClassLibrary1_localhost_WebService1" serializeAs="String"> <value>http://localhost:1665/MyWebService/FirstWebService.asmx</value> </setting> </ClassLibrary1.Settings> </applicationSettings>
web.config 的开始部分应与如下所示类似:
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> <configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="ClassLibrary1.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </sectionGroup> </configSections> <appSettings> </appSettings> <applicationSettings> <ClassLibrary1.Settings> <setting name="ClassLibrary1_localhost_WebService1" serializeAs="String"> <value>http://localhost:1665/MyWebService/FirstWebService.asmx</value> </setting> </ClassLibrary1.Settings> </applicationSettings> <connectionStrings/> <system.web>
-
生成解决方案,然后查看应用程序关系图。
-
使用者终结点显示在与 MyWebService 上的 FirstWebService Web 服务终结点连接的 MyWebApplication Web 应用程序上。此终结点表示从类库项目中的 Web 引用到 Web 服务的连接。
posted on 2008-06-15 00:53 Above The Sky 阅读(172) 评论(0) 编辑 收藏 举报