Приложение WinForms на основе WCF в автономном режиме - PullRequest
1 голос
/ 14 ноября 2009

У меня есть приложение Windows, в котором слой бизнес-логики реализован как служба WCF. Этот сервис в настоящее время размещен на IIS. Я хотел знать, что если есть способ, при котором я мог бы при желании запустить приложение в автономном режиме, когда служба недоступна / неосуществима.

1 Ответ

1 голос
/ 14 ноября 2009

При правильном проектировании бизнес-логика не должна реализовываться непосредственно как служба WCF - она ​​должна абстрагироваться в отдельную сборку по причинам, аналогичным вашей, и оболочка WCF должна вместо этого просто ссылаться на нее. Я предполагаю, что вы не имели права голоса в этом неортогональном дизайне.

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

edit re comments: Вы можете иметь несколько сервисных хостов и конечных точек и сохранять один и тот же контракт («интерфейс») в WCF. Возможно, вы захотите добавить некоторый сам хостинг , который предоставляет конечную точку именованный канал , и получить доступ к таким операциям в вашем приложении.

...