如何在Visual Studio中设置相对服务引用?

3

在此输入图片描述

我们有一个WCF客户端,我们从文件中获取了wsdl信息。如何输入相对URL(到Visual Studio项目)而不是绝对URL?我尝试了许多形式,但没有成功,错误消息是Invalid URI。

原因:并非所有开发人员都将项目检出到相同的目录中。因此,更新服务引用很麻烦。


你可以将URL放入配置文件中,每个开发人员都可以根据自己的需求进行调整,并基于该URL从配置文件创建WCF客户端代理。但我认为你不能使用相对URL.... - marc_s
感谢您的评论。我该如何根据配置文件中的URL生成客户端代理? - yonexbat
(1) 从您的配置文件中读取URL, (2) 使用适当的重载构造函数为客户端代理指定一个明确的端点URL。 - marc_s
@marc_s 我想你指的是在使用服务引用对话框生成代码之后,在代码中构建代理对象。但是我可能误解了。OP在谈论在服务引用对话框中使用相对文件路径,以避免在VS项目配置中有绝对路径。 - anton.burger
是的,这个问题涉及到Visual Studio而不是代码。如果有人知道如何在Visual Studio的对话框服务引用设置中设置相对地址(而不是C:\ ggg),比如.\blabla.wsdl,请告诉我。 - yonexbat
1个回答

1

在类似的情况下,我们所做的是将URL指向本地主机。

因此,每个开发人员都在其IIS中配置了相同的URL服务,例如http:\ localhost ...,因此所有人的配置都是相同的。

如果这不是一个选项,您可以使用Slow Cheetah来转换web.configs(我们用它来指向DEV、QA、Beta等配置)。


是的,我们可以在 TFS 上发布 WSDL 文件,并将其用作服务引用地址。但是这种方式很麻烦,因为在地址字段中无法输入相对于硬盘上项目位置的 URL(请参见 marc_s 的评论)。 - yonexbat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接