Клиент веб-сервиса WCF с замком Виндзор - PullRequest
4 голосов
/ 20 августа 2011

Я использую .net 3.5. и замок 2.5.2.

У меня есть веб-сервис WCF.

Я пытаюсь создать клиент (веб-сайт mvc 2.0), который использует замок для внедрения прокси.

Итак, я сгенерировал прокси с помощью svcutil. Я разместил прокси на своем клиентском веб-сайте и зарегистрировал его в контейнере следующим образом:

container.Register(
            Component.For<IMyWCFServiceProxy>()
                .ImplementedBy<WCFServiceProxy>());

Затем вставил прокси-интерфейс в мой класс, который вызывает службу. Пока все хорошо.

Однако, когда я вызвал веб-метод на прокси, я получил: «Объект связи System.ServiceModel.Channels.ServiceChannel не может использоваться для связи, поскольку он находится в состоянии Failed.»

Так что мне стало интересно, нужно ли мне добавлять дополнительную информацию, когда я регистрирую клиентский прокси в контейнере. то есть связано с состоянием канала. Я не могу найти какую-либо документацию по настройке клиента.

Большое спасибо.

1 Ответ

3 голосов
/ 22 августа 2011

Моя проблема заключалась в том, что мне не хватало ссылки на конечную точку при регистрации прокси.Служба теперь работает после этого изменения:

    Component.For<IMyWCFServiceProxy>()
                .ActAs(DefaultClientModel
                           .On(WcfEndpoint.FromConfiguration("wsHttpEndpoint"))).
                ImplementedBy<MyWCFServiceProxy>());

Хотя, я читал эту статью на выходных, и мне нравится, как это выглядит.

...