向网站添加服务引用
Posted
技术标签:
【中文标题】向网站添加服务引用【英文标题】:Adding a service reference to a website 【发布时间】:2011-10-29 21:22:38 【问题描述】:我正在尝试向我的网站添加服务参考。当我将服务引用添加到 WPF 应用程序时,我会得到一个 reference.cs 文件,我可以对其进行编辑和添加属性。当我尝试在 asp.net 网站上做同样的事情时,这个文件不存在。我也尝试过查看文件系统并且 reference.cs 不存在。谁能提供一些指导?
编辑:: 我使用的是 VS2010,我需要编辑 reference.cs 以添加 [Webget] 和 [WebPost] 属性
【问题讨论】:
【参考方案1】:如果您想手动编辑服务存根,请考虑使用svcutil.exe。
【讨论】:
这似乎是正确的做法。我会告诉你我的进展情况 嗨,我使用的是 .Net Core 2.0。在添加服务时,我的类名是ABCService
,但在.Net 核心中它正在生成ABCServiceClient
事件,属性和方法签名也发生了变化。你知道为什么吗?【参考方案2】:
根据 VS 的版本,它会在项目根目录下创建一个文件夹。在我的情况下,在 VS2010 下,我向 http://www.webservicex.net/stockquote.asmx?WSDL 添加了一个引用,将命名空间设置为 ServiceReference1
,并在项目根目录中创建了一个名为 \Service References\ServiceReference1
的文件夹,在该文件夹下存储了所有引用文件,包括 Reference.cs
如果您没有看到此文件夹,那么您的服务可能有问题,VS 无法查询 WSDL 并生成文件。试试上面的股票服务进行测试。
编辑生成的文件通常是个坏主意,因为当您刷新参考时它们可能会重新生成。除非你想把生成的代码撕掉,再也不刷新。
更新:
好像webservicex服务很慢,试试this 此外,“Web 参考”和“服务参考”之间似乎存在差异。见here。但最终它会在您的项目根目录中创建一个名为“Service References”或“Web References”的子文件夹,其中包含您为引用命名的任何子文件夹。
【讨论】:
【参考方案3】:在 Visual Studio 中,右键单击解决方案资源管理器的“服务引用”部分下的引用,然后单击“在对象浏览器中查看”。然后,在对象浏览器中,在引用的命名空间下,右键单击任何属性并选择“转到定义”。这将加载“Reference.cs”文件。
希望这会有所帮助!
编辑: 另外值得注意的是,为您生成的类是部分类,因此考虑在单独的文件中扩展它们可能是有益的,这样您仍然可以“更新”引用并且不会让生成的代码覆盖您所做的任何更改。不过,这完全取决于您打算修改的内容。
【讨论】:
以上是关于向网站添加服务引用的主要内容,如果未能解决你的问题,请参考以下文章