将单个Web服务添加到现有ASP.NET应用程序

时间:2011-07-15 00:45:40

标签: asp.net winforms web-services webforms asmx

我编写了一个ASP.NET网站以及一个配套的WinForms桌面应用程序,用于维护该网站。

桌面应用程序需要创建用户。但是,这很尴尬,因为我需要确保所有成员资格设置与我们网站的web.config文件中的完全相同。

如果我的桌面应用程序能以某种方式“调用”网站并告诉它创建用户,那将会更容易。看起来像一个Web服务将是一个很好的选择。但是,Visual Studio没有添加ASMX文件的选项。如果我创建一个单独的Web服务应用程序,那么该应用程序将遇到我的桌面应用程序相同的问题。

有没有办法将单个Web服务添加到现有的ASP.NET应用程序?有链接吗?感谢。

1 个答案:

答案 0 :(得分:0)

  

Visual Studio没有添加ASMX文件的选项

在Web应用程序项目或WinForms项目中?我假设您的意思是您无法在WinForms项目中添加 Web引用;不需要将 .asmx 文件添加到 WinForms 项目中。 Web应用程序项目应该具有.asmx文件,该文件由WinForms项目使用 Web引用调用

在WinForms项目中,您可以通过右键单击解决方案资源管理器中的引用,然后选择添加服务引用... 来使用Web服务(在Visual Studio 2008中) ;其他版本可能会说添加Web引用... )。然后只需输入Web服务(.asmx)的网址(在您的情况下可能是本地的,例如localhost/foo.asmx)。

请参阅此MSDN文章中的“同步调用XML Web服务”部分:Calling XML Web Services from Windows Forms

作为替代方案,this MS KB article显示了如何使用WSDL工具生成可以使用*.asmx URL的类。 (本文使用VB,但您可以将参数切换为CS以生成C#。)

<强>更新

要将.asmx文件添加到Web项目,请在Visual Studio中右键单击该项目,然后选择添加 - &gt;新物品...... - &gt;网络服务。如果在模板浏览器对话框中出现任何位置时没有“Web服务”项,那么您缺少模板或者您正在查找错误的位置。