2012-05-02 5 views
0

Я хотел бы создать форму окна приложения,Как создать WCF службу в Windows, форме

Но я хотел бы, вдова форма должна хозяйничать сервер WCF так другое приложение будет иметь возможность общаться с этим приложением окна.

Поэтому я добавляю к интерфейсу проекта приложения Windows для контракта WCF и добавляю также класс, реализующий этот интерфейс.

Теперь на конструктор приложений окна формы добавить

ServiceHost calcHost = new ServiceHost(typeof(Service)); 
calcHost.Open(); 

и теперь мне нужно реализовать, что методы WCF будут иметь возможность взаимодействовать с формой окна.

Мне не удалось это сделать.

Мой вопрос - моя архитектура правильная или мне нужно создать WCF по-другому, если это нормально, как WCF будет взаимодействовать с приложением формы окна?

+1

Как правило, приложение для Windows может быть запущен и остановлен в любое время пользователем. Служба WCF должна быть доступна (снова обычно ...) в любое время. Поэтому архитектурно это должны быть два отдельных компонента. Приложение Windows должно быть как можно более легким, делая звонки в службу WCF. –

+0

Я знаю, но в этом случае это нормально для меня – MoShe

+0

У winforms будут другие функции или только служба WCF? –

ответ

1

Если вы хотите, чтобы вызовы службы wcf меняли форму окна, я думаю, вам нужно передать ссылку на вашу форму в свою службу WCF, а затем при вызове методов вашего метода вызывать методы в своей форме.

Я думаю, вам нужно будет создать свою собственную реализацию хоста службы, чтобы вы могли передать ссылку на форму экземплярам службы, которые создает хост (или размещает ваш сервис как одноэлементный). См. this question для более подробной информации.

+1

вы могли бы объяснить мне, как мне это сделать? как мне добавить ссылку? в конструкторе? почему я должен использовать 'ServiceHost calcHost = new ServiceHost (typeof (Service)); calcHost.Open(); ' – MoShe

Смежные вопросы