“更新Web参考”的问题

时间:2009-07-06 18:55:13

标签: visual-studio web-services .net-2.0 asmx

当我尝试在Visual Studio 2008中更新Web引用时,我偶尔遇到问题(这也发生在VS2005中)。它发生在几种不同的解决方案中。 当我有一个(.NET 2.0)Web服务的解决方案和一个引用Web服务的项目时,我得到“下载'http://localhost:3890/MyWebService.asmx时出错”无法连接到远程服务器。“显然,示例中的端口号仅为示例,可以是任何端口号。

Web引用设置为“动态URL”,Web服务使用的是ASP.NET Development Server Web服务器而不是IIS。发生错误时,服务的图标永远不会显示在系统托盘中。

我找到了两个解决方法。更激进的解决方法是删除Web引用并重新创建它。这对我来说每次都有用,但是对Subversion和AnkhSVN造成了一些混乱。

最近,我想到将Web服务设置为启动项目,启动它,并将鼠标悬停在系统托盘上的ASP.NET Development Server图标上,以找出它所选择的端口号。然后,编辑Web引用的WebReferenceUrl属性中的端口号。执行此操作后,我可以更新Web引用。

虽然这有效但我觉得必须有更好的方法。似乎VS和Cassini应该能够在没有人工干预的情况下解决这个问题。我是否遗漏了一些东西,或者这是微软的另一个案例,让困难的事情变得正确而简单的基础知识错了吗?

我试图搜索这个问题的答案,并找到了几个描述问题的线程。但是,没有人确定真正的解决方案。

3 个答案:

答案 0 :(得分:2)

在解决方案资源管理器中右键单击该服务,然后选择“在浏览器中查看”。这将导致服务启动,您将能够使用“添加Web引用”。

答案 1 :(得分:1)

您可以在visual studio中强制测试网站的端口。

使用“F4”或通过工具栏 - “查看” - >打开visual studio中的属性窗口。 “属性窗口”。 在“解决方案资源管理器”窗口中左键单击您的网站。请注意“使用动态端口”设置的下拉列表。如果将此项设置为“False”,则可以在“端口号”字段中指定固定端口。
将其设置为所需的端口值 启动您的网站。您将看到使用的端口与您指定的值匹配。

答案 2 :(得分:0)

转到项目属性 - >设置 - > [更新服务​​网址] 它有效。