【发布时间】:2012-10-09 21:48:16
【问题描述】:
我在 ASP.NET 2.0 网站项目中有一个 Web 服务引用。我希望能够在服务的暂存版本和生产版本之间切换,而无需更改我的代码。
但是,我没有看到如何以干净的方式做到这一点。我知道我可以更改 web.config 以指向其他一些服务 URL,但是我的代码不是仍然硬编码到一个引用或另一个引用吗?
我看到了this post,但是你如何编辑代理类呢?如果我在类上“转到定义”,它不会带我到任何我可以编辑的类,但它是对象浏览器...我是否需要运行 wsdl.exe 实用程序以便它生成代理为我上课,然后我可以编辑?
编辑#1:这是我用来实例化和调用服务的代码:
Dim service As New Swan.MagellanLeadSheetService()
Dim response As Swan.MagellanLeadSheetResponse = service.Foo(stuffToSendToService)
编辑#2:由于 web.config 已经在 appSettings 区域中有 URL 端点地址,我可以在部署到生产时简单地编辑该设置以指向生产 URL 吗?就这么简单吗?我担心在 Staging 与 Production 的代理类之间可能会发生破坏性更改,但我认为应该在将任何更改部署到 Production 之前解决这些问题。
【问题讨论】:
-
您可能会遇到两个困难:一,您被困在使用 .NET 2.0,因此您被困在使用 ASMX Web 服务,这是一种不应该用于新开发的遗留技术,第二:您使用的是网站而不是 Web 应用程序项目。除了最简单的应用程序之外,网站不应用于任何用途。您使用 Web 服务这一事实意味着您没有最简单的应用程序。
标签: asp.net web-services