Отладка проекта WCF - PullRequest
       26

Отладка проекта WCF

0 голосов
/ 10 августа 2011

Я построил небольшое решение, содержащее 4 проекта:

  • Контракт: содержит мои (сгенерированные t4) сущности и интерфейс для моей службы

  • Сервис: содержит мой (сгенерированный t4) контекст и реализацию моего сервиса

  • Хост: содержит минимум для размещения службы

ServiceHost host = новый ServiceHost (typeof (InleerAppService));

try
{
    host.Open();

    Console.WriteLine("The service is ready!");
    Console.ReadKey();

    host.Close();
}
catch (CommunicationException cex)
{
    Console.WriteLine(cex.Message);
}
  • Клиент:

var factory = new ChannelFactory ("InleerAppService");

IInleerAppService service = factory.CreateChannel();
var result = service.ReturnInput("test string"); // just returns the input string, this works!

Console.WriteLine(result);

var result2 = service.GetAllCompanies(); // this doesn't and crashes the client

foreach (Company c in result2)
{
    Console.WriteLine(c.Name);
}

Console.ReadKey();

Вы понимаете, я хотел бы выяснить, что происходит. Но я не очень понимаю, как я могу это отладить. Сначала я запускаю хост с помощью Ctrl + F5, затем клиент. Но это не позволяет мне отлаживать. Как мне перейти к этому, , используя эту настройку ? Я знаю, что есть и другие способы работы со службами, но в этой части я просто хочу сосредоточиться на этой настройке.

1 Ответ

1 голос
/ 10 августа 2011

Вы можете настроить решение для запуска нескольких проектов и просто нажать F5.Чтобы настроить это, щелкните правой кнопкой мыши на решении и перейдите в свойства.Выберите запуск проекта под общими свойствами.И выберите свои сервисные и клиентские проекты для запуска.

Другой способ отладки - выбрать проект службы, щелкнуть правой кнопкой мыши и перейти к отладке -> запустить новый экземпляр.Далее сделайте то же самое для клиентского проекта.Теперь у вас должны быть запущены как сервисные, так и клиентские проекты в режиме отладки.

...