В настоящее время я использую веб-сервис, который предлагает 2 конечных точки в качестве резервных копий при сбое.Мне нужно протестировать все 2 конечные точки, прежде чем мой код полностью потерпит неудачу, а затем нужно будет зарегистрировать исключение.Я думал о том, чтобы вернуть код состояния ответа HTML, используя это:
Function1:
public string ValidateHttpRequest(string endpointUrl)
{
try
{
var url = endpointUrl;
HttpClient httpClient = new HttpClient();
var reponse = httpClient.GetAsync(endpointUrl);
return reponse.Result.StatusCode.ToString();
}
catch (Exception ex)
{
Log.Log("exception thrown in ValidateHttpRequest()! " + ex.ToString());
Log.Log(ex);
return null;
}
}
Это вызывается из другой функции, скажем function2 (().
Функция 2:
private bool function2()
{
//Specify the binding to be used for the client.
BasicHttpsBinding binding = new BasicHttpsBinding();
var epA = "https://www1.endpoint1.com/endpointService.asmx";
var epB = "https://www2.endpoint1.com/endpointService.asmx";
if (ValidateHttpRequest(epA)== "OK")
{
EndpointAddress address = new EndpointAddress("https://www1.enpoint1.com/endpointService.asmx");
_Client = new WebService.SoapClient(binding, address);
return true;
}
else if ((ValidateHttpRequest(epB))== "OK")
{
EndpointAddress address2 = new EndpointAddress(("https://www2.enpoint2.com/endpointService.asmx"));
else
{
// Now Log error here completely, and only fail here if both above checks return anything apart from 200 status code
LogException(“Only log exception if all endpoints fail”);
return false;
}
}
Это все хорошо, но мне нужно, чтобы это не сбой при первом вызове, так как мне нужно будетпроверьте, является ли другая конечная точка действительной / активной.Проблема в том, что если ответ нулевой, исключение обрабатывается, и я не буду проверять остальные мои конечные точки, как я могу правильно убедиться, что мой код безопасен, то есть исключения обрабатываются правильно, но продолжаю мой код проверять все конечные точки передполностью провал и остановка исполнения.он должен потерпеть неудачу, если я получу любой другой ответ, кроме 200 ОК. Я исследовал, как проверить HTTP-ответ, и все, что я могу придумать, - это, но он не полностью соответствует моим потребностям. Если кто-то может указать мне вправильное направление или помощь с решением, я был бы очень признателен.Заранее спасибо