У меня проблема с использованием веб-службы, и я надеялся, что кто-нибудь сможет пролить свет.
У меня есть все, что мне нужно для работы, за исключением перечисления.
Сгенерированный Reference.cs содержит:
public enum SearchType {
sales,
lettings,
}
Мой метод контроллера имеет следующее:
if (model.ValuationType == "lettings")
{
Debug.WriteLine("in the lettings route");
request = new ValuationRequest
{
ValuationType = SearchType.lettings,
Postcode = model.Postcode,
FromDate = DateTime.Now.AddDays(1),
ToDate = DateTime.Now.AddDays(14)
};
}
else
{
Debug.WriteLine("in the sales route");
request = new ValuationRequest
{
ValuationType = SearchType.sales,
Postcode = model.Postcode,
FromDate = DateTime.Now.AddDays(1),
ToDate = DateTime.Now.AddDays(14)
};
}
var valuationAppointments =
WebUtility.GetValuationAppointments(request);
и в GetValuationAppointments
утилита просто делает следующее:
public static Appointment[] GetValuationAppointments(ValuationRequest request)
{
Debug.WriteLine(request.ValuationType);
Debug.WriteLine(request.Postcode);
Debug.WriteLine(request.FromDate);
Debug.WriteLine(request.ToDate);
service = new MyWebService();
var valuationAppointments = service.GetValuationAppointments(request);
return valuationAppointments;
}
Теперь отладка из этих строк записи показывает все именно так, как я ожидал, и правильно возвращает встречи, однако они всегда являются продажами. Даже если сдача в аренду передается от модели к сервису. Я предполагаю, что что-то о типе enum полностью игнорируется, и поэтому сервис по умолчанию продается.
Visual Studio не выдает предупреждений о ValuationType = SearchType.lettings
, и все, что я пытаюсь с этой строкой, приводит к ошибкам.
Есть какие-нибудь идеи, почему это ValuationType = SearchType.lettings
- единственное поле, терпящее неудачу?
доказательства отладки:
in the lettings route
lettings
GU4 7QG
29/08/2018 10:47:21
11/09/2018 10:47:21
Ценю любую помощь!