在MonoDevelop/MonoTouch中使用WCF:如何使用app.config文件?

Kru*_*lur 3 mono monodevelop xamarin.ios

我在我的MT项目中添加了一个Web引用到WCF服务(在这里使用MonoDevelop 2.4.2).我正在尝试回收Visual Studio使用的app.config文件.我将它复制到我的MT的根目录中,并在MonoDevelop中指定"复制到输出目录".它仍然无效.在MonoDevelop中使用app.config的正确方法是什么?

勒内

Luk*_*uke 7

不幸的是,您无法在Monotouch中使用app.config文件.您必须自己在代码中创建所有绑定.在我们的一个项目中,这就是我们所做的:

public static ServiceClient GetClient()
{
    BasicHttpBinding binding = new BasicHttpBinding();
    binding.OpenTimeout = new TimeSpan(0,0,10);
    binding.CloseTimeout = new TimeSpan(0,0,10);
    binding.SendTimeout = new TimeSpan(0,0,10);
    binding.HostNameComparisonMode = HostNameComparisonMode.StrongWildcard;
    binding.BypassProxyOnLocal = false;
    binding.AllowCookies = false;


    // snip - we set all the properties found in the serverside config file in code here

    EndPointAddress endpointAddress = new EndpointAddress("https://www.domain.com/ServiceClient.svc");
    ServiceClient client = new ServiceClient(binding, endpointAddress);
    return client;
}
Run Code Online (Sandbox Code Playgroud)

您需要遍历并设置服务器的app.config文件中找到的每个属性,确保值完全匹配,否则这将无效.(如果我误解了你的问题,那么我道歉!).