是否可以在xamarin android的配置文件中设置代码外的地址?

时间:2019-04-20 08:54:14

标签: android wcf xamarin

我正在尝试做一个简单的应用程序,它是WCF服务,它将由WPF应用程序和xamarin android应用程序使用。

在WPF应用程序中,消耗服务的客户端代理的配置位于app.config文件中,因此我可以在此处设置服务的地址。

但是,在android应用程序中,我看到的所有示例都在代码中创建绑定,并且地址在代码中设置。像这样:

namespace ServiceAgent
{
    public class CalculatorServiceAgent
    {
         private static EndpointAddress endPoint = new EndpointAddress("http://192.168.216.1:1234/CalculatorService.svc");
        private static BasicHttpBinding binding;

         static CalculatorServiceAgent()
        {
            binding = CreateBasicHttpBinding();
         }

        private static BasicHttpBinding CreateBasicHttpBinding()
        {
            BasicHttpBinding binding = new BasicHttpBinding
            {
                Name = "basicHttpBinding",
                MaxBufferSize = 2147483647,
                MaxReceivedMessageSize = 2147483647
            };

            TimeSpan timeout = new TimeSpan(0, 0, 30);
            binding.SendTimeout = timeout;
            binding.OpenTimeout = timeout;
            binding.ReceiveTimeout = timeout;
             return binding;
        }

         public async static Task<int> DoSum(int value1, int value2)
        {
            ICalculatorService _client;
             try
            {
                _client = new CalculatorServiceClient(binding, endPoint);
                var res = Task<int>.Factory.FromAsync(_client.BeginDoSum, _client.EndDoSum, value1, value2, null);
                await res;
                 return res.Result;
            }
            catch (Exception)
             {
                 throw;
             }
         }
    }
}

但是在这种情况下,我看到的问题是,如果更改了服务的地址,则必须修改应用程序并再次编译,如果配置可以在外部配置文件中,则可以避免。< / p>

所以我的问题是,在Android应用程序中是否可以以与WPF应用程序相同的方式在代码外部进行配置?

谢谢。

0 个答案:

没有答案