В настоящее время я пытаюсь разобраться с услугами WCF для среды разработки ASP.NET, и я считаю, что у меня все хорошо, кроме одной вещи, которая меня озадачила.
По сути, яВы настроили службу WCF (давайте возьмем значение по умолчанию с добавленным конструктором):
public class MyService : IMyService
{
public MyService() { /* blah */ }
public DoWork() { /* blah */ }
}
Интерфейс IMyService
определяет метод DoWork()
как [OperationContract]
, как и должно быть.
Итак, я получил ссылку на этот сервис в другом проекте (скажем, на тестовом проекте [Unit]) через Добавить ссылку на сервис в интерфейсе VS2010.Это создает ссылку на MyServiceClient
, которая предоставляет мои методы службы WCF, как и должно быть.
Однако, когда я делаю это в моем тестовом проекте:
ServiceReference.IMyService service;
service = new ServiceReference.MyServiceClient();
... theMyService()
конструктор не вызывается, в основном потому, что я создаю MyServiceClient
, а не MyService
как таковой.
Как мне получить вызов этого конструктора?Я планирую использовать это для целей инициализации (например, возможно, захват слоя в многоуровневой реализации?).