向网站添加服务引用

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”文件。

希望这会有所帮助!

编辑: 另外值得注意的是,为您生成的类是部分类,因此考虑在单独的文件中扩展它们可能是有益的,这样您仍然可以“更新”引用并且不会让生成的代码覆盖您所做的任何更改。不过,这完全取决于您打算修改的内容。

【讨论】:

以上是关于向网站添加服务引用的主要内容,如果未能解决你的问题,请参考以下文章

在类库项目中添加 WCF 服务引用,并在使用该类库的网站中添加相同的 WCF 引用。

前端向blog或网站中添加语法高亮显示代码方法总结

如何使用 Ngrok 向网站添加密码

网站架构的伸缩性设计

是否可以向 CORS 预检请求添加请求标头?

如何向网站添加推送通知?