У меня есть служба, которая получает данные от прокси-сервера, размещенного в WebApp.DataMembers установлены с Order = *, и я также попытался добавить isRequired = true.Проблема состоит в том, что из 60 полей информации, сериализованных и десериализованных, одни и те же 3 строковых поля постоянно отсутствуют (ноль).Я запустил отладку, которая показывает мне, что данные передаются из браузера клиента в прокси-службу без изменений (сериализовано из JSON).Затем прокси-служба отправляет его в службу Windows, где после десериализации отсутствуют 3 поля.
Я пытался установить порядок полей по-другому, но, похоже, ничего не работает.Это всегда одни и те же 3 пропущенных поля простых строк, часто не длиннее 10-20 символов.Стоит также отметить, что эти проблемные DataMembers правильно заполнены во всех других областях программы.
Код службы прокси выглядит следующим образом:
public TransactionResult Update(MyObj obj, String ItemOne, String ItemTwo)
{
MyService.MyServiceClient proxy = new MyService.MyServiceClient("WSHttpBinding_IMyService");
proxy.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
TransactionResult result = proxy.Update(obj, ItemOne, ItemTwo);
proxy.Close();
return result;
}
Код службы Windows
[OperationBehavior(Impersonation = ImpersonationOption.Required)]
public TransactionResult Update(MyObj obj, String ItemOne, String ItemTwo)
{obj is missing same 3 values at this point...}
Пример одного из DataMembers объекта
[DataMember(Order = 56)]
public String ItemTwo
{
get
{
...
}
set
{
...
}
}