使用MonoTouch的动态Web服务URL

时间:2012-08-12 22:38:41

标签: web-services xamarin.ios

我有一个使用MonoTouch编写的应用程序依赖于Web服务URL后端。我需要能够在应用程序内(或在其设置中)动态地在运行时设置此后端的URL。

我在CodeProject上阅读了这篇文章,它描述了动态设置URL: http://www.codeproject.com/Articles/12317/How-to-make-your-Web-Reference-proxy-URL-dynamic#_rating

但我在MonoDevelop中找不到这个选项。

我已经尝试更改我的服务的Url属性,但它似乎还有更多。 (具体来说,Web服务添加的“references.cs”文件似乎也有各种属性的硬编码URL)。

任何帮助都非常感激。

谢谢!

- scotru

1 个答案:

答案 0 :(得分:1)

当Mono为您生成SOAP Web服务的C#包装器时,它会创建2个包装器构造器。第二个包含URL参数,您可以使用它来设置正确的URL,从而在Web服务之间切换。

来自生产的项目示例(文件Reference.cs):

public partial class ServicesInfoImplService : System.Web.Services.Protocols.SoapHttpClientProtocol
...
        public ServicesInfoImplService() {
            this.Url = "<DEFAULT_URL>";
        }

        public ServicesInfoImplService(string url) {
            this.Url = url;
        }
...