如何在不重新编译的情况下更改Web服务URL?

问题描述 投票:0回答:3

我们有一个网络应用程序,通过Netsuite的Web服务与Netsuite交谈。我们通过VS 2005的Add Web Reference向导设置Web服务,该向导生成所有代理代码。

Netsuite具有允许测试的沙箱帐户(不同的Web引用URL)。理想情况下,我们希望在实时服务和测试服务之间来回跳转。我希望我可以只更改一个xml文件,指向我想要的Web服务。配置文件包含

    <Netsuite.Properties.Settings>
        <setting name="Netsuite_com_netsuite_webservices_v21_NetSuiteService"
            serializeAs="String">
            <value>https://webservices.netsuite.com/services/NetSuitePort_2008_2</value>
        </setting>
    </Netsuite.Properties.Settings>

但是网址参考网址是https://webservices.netsuite.com/wsdl/v2008_2_0/netsuite.wsdl

有没有人试过这个并知道如何做到这一点?

.net web-services netsuite
3个回答
0
投票

无法在VS2005中进行测试,但我知道在2008年部署Web应用程序时,它会将服务URI放在Properties目录中的Settings.settings文件中。您可以将URI更改为指向该服务的测试实例,然后重新启动应用程序。


0
投票

您可以将WebService URL放在web.config(或AppSettings.config)文件中,然后在运行时设置它。

wsProxy proxy = new wsProxy();
wsProxy.Url = ConfigurationManager.AppSettings.Get("WebserviceUrl");
wsProxy.DoSomething();

这将允许您更改WebService URL而无需重新编译应用程序。


0
投票

我经常使用NetSuite集成应用程序执行此操作,而无需重新编译。将配置文件中的服务值换成

https://webservices.sandbox.netsuite.com/services/NetSuitePort_2008_2

如果您将此值用于生产:

h ttps://webservices.netsuite.com/services/NetSuitePort_2008_2

© www.soinside.com 2019 - 2024. All rights reserved.