2012-11-28 56 views
1

我有一个C#库,需要引用2个Web服务,一个在站点处于“Stage”时,然后在“Production”时指向另一个。如何为Web服务设置不同的URL?我注意到URL是在.disco文件中硬编码的。有没有办法做到这一点动力设置?我也试过这个解决方案:Webservice应用程序设置

App.Config Transformation for projects which are not Web Projects in Visual Studio 2010?

但由于某些原因,当我编译我的网站,该库被编译,但应用程序配置不被复制到bin文件夹。所以我假设我的Web服务URLs在库dll中被硬编码。任何帮助是极大的赞赏。

感谢

+0

你的c#库使用什么.net框架? –

+0

您可以将此添加到网络或app.config文件,设置或编写代码来确定您正在运行哪个域,并根据域从配置文件读取该值。你现在如何在同一个项目中同时使用多个Web服务?你有一个App_WebReferences文件夹吗?这是您可以添加/使用多个Web服务的位置,如果您通过IDE执行它,它将知道差异我将右键单击app_WebReferences文件夹并以不同的方式命名Web服务,然后添加它应添加 – MethodMan

回答

1

可能需要一点点更多的信息,但这里是我可以告诉你早就:

你可以随时将您的服务器(主机),以“献”两个不同的端点完全一样的服务,那可以使用WCF配置选项从Visual Studio进行配置。

如果您的意思是“指向”具有相同Web服务定义的不同URL,那么您只需要实例化添加Web引用时创建的代理,并在构造函数中提供其他URL在生产中使用。

您的网络配置通常被复制到您的bin文件夹,也许您应该检查您的部署安装过程。或者尝试自己添加它。

+0

Thx - 我有更改构造函数以使用Web配置 - – PhillyNJ

1

你说,你编译“网站”,暗示你有被引用的类库项目在您的Web服务的引用是一个网站项目。

如果是,网站将会有一个web.config文件 - 对其进行转换,而不是类库项目中的app.config。