Ожидается возвращение службы домена, клиент получает пустой результат - PullRequest
0 голосов
/ 15 октября 2011

У меня есть приложение, в котором я создал пустую доменную службу из шаблона.Доменная служба имеет единственный метод, в котором я возвращаю класс модели представления, в который я проецирую некоторые вещи LINQ.Вот подпись метода и т. Д. Для службы домена:

[EnableClientAccess()]
public class StatisticsService : DomainService
{
    private ServiceInspectorEntities ctx = new ServiceInspectorEntities();

    [RequiresRole(RoleNames.Administrator, RoleNames.ServiceAdministrator)]
    public StatisticsPM GetStatistics(int DealerId, DateTime startDate, DateTime endDate)
    {
        // do LINQ 
        StatisticsPM stats = new StatisticsPM();
        // add LINQ results
        return stats;        // <- breakpoint here
    }

Вот проблема: я кодирую на двух разных машинах

  • рабочий стол -> запускаю VMWare Player с виртуальной машиной: WinServer2008, SQL Server 2008R2, .NET 4, IIS7 и т. Д.
  • ноутбук -> работающий VMWare Fusion с идентичной исходной виртуальной машиной (я скопировал ее с одной на другую, поэтому среды идентичны)

Я синхронизирую код между ними, используя git / github

В приведенном выше коде я устанавливаю точку возврата для оператора return:

  • desktop -> stats asожидается
  • ноутбук -> статистика соответствует ожидаемой

Затем я устанавливаю точку останова на стороне клиента, где я вызываю службу домена, и когда она возвращается, я проверяю LoadOperation.Entities:

  • рабочий стол -> LoadOperation.Entities соответствуют ожидаемым (соответствуют значениям, которые я вернул на стороне сервера)
  • ноутбук -> LoadOperation.Entities пусто

LoadOperation.Error is null для обоих - нет ошибок вообще

Это второй результат, который сбивает меня с толку.Та же среда, тот же код, те же результаты перед отправкой по проводам.Где-то в процессе сериализации на стороне клиента или сервера результаты теряются, и я ищу любые подсказки от опытных ветеранов, которые могли бы сказать: «О да, я видел это раньше ... Вы должны настроить такиеи такие "... b / c, я четыре раза проверил свое состояние git и базу данных на каждой машине ... сделал несколько чистых сборок и очистил кеш браузера и т. д., исчерпав идеи.

Iне сравнивал, что Центр обновления Windows мог сделать между каждой виртуальной машиной, чтобы проверить, имеют ли они одинаковый уровень / обновления патчей.Может быть, они разные, но я надеюсь, что это что-то попроще.

Спасибо

...