发布时.net Web服务引用更新

时间:2017-02-02 14:05:30

标签: c# asp.net web-services wsdl

我有一个网站项目,我在其中使用Web服务来获取数据。该服务是与网站在同一项目中的.asmx。因此,此Web服务(web.config中的端点,.svcinfo,.disco,.wsdl和.svcmap)的引用在开发时指向localhost。在部署网站(发布)时,我需要在构建之前更新引用,以便它指向我部署它的位置。

我在不同的构建上下文中使用了web.config-transformations来更新web.config中的引用,并尝试通过调用SvcUtil.exe来创建一个BeforeBuild任务来生成.wsdl,.svcinfo等。

Web.config转换工作正常,但SvcUtil.exe尝试在部署的地址上发现Web服务以生成文件,因此...在部署时发生所有这些,然后由于没有Web服务而没有生成文件目标地址。

我发现流程应该是这样的:
1-从web.config-transformations获取目标地址 2-发现LOCAL(在项目内,而不是在目标中)Web服务
3-使用目标地址
创建或更新.wsdl,.disco等 4-建造 5-部署

但我没有关于如何使其发挥作用的想法......任何想法?

1 个答案:

答案 0 :(得分:1)

我不确定这是否适用于ASMX,但在WCF中,使用配置转换修改web.config就足够了。无需再次更新服务引用。仅在服务方法发生更改时才更新服务引用。

生成的服务类应使用相对地址。然后,地址前缀从web.config文件中变为红色。