Я пытаюсь создать простое приложение, которое является службой 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;
}
}
}
}
Но проблема, с которой я сталкиваюсь в этом случае, заключается в том, что если адрес службы меняется, мне приходится модифицировать приложение и снова компилировать, чего я мог бы избежать, еслиКонфигурация может быть во внешнем конфигурационном файле.
Итак, мой вопрос, возможно ли в приложениях для Android иметь конфигурацию вне кода так же, как в приложении WPF?
Спасибо.