2009-08-06 3 views
4

Можно ли иметь конфигурацию службы WCF, как это:Можно ли использовать netTcpBinding с сервером разработки VS 2008?

<service behaviorConfiguration="WcfService1.Service1Behavior" 
    name="WcfService1.Service1"> 
    <endpoint address="" binding="netTcpBinding" bindingConfiguration="" 
     contract="WcfService1.IService1"> 
    </endpoint> 
    <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" 
     contract="IMetadataExchange" /> 
    <host> 
     <baseAddresses> 
     <add baseAddress="net.tcp://localhost/netTcpService" /> 
     </baseAddresses> 
    </host> 
    </service> 

и он размещен на сервере разработки ASP.NET, который поставляется с Visual Studio 2008, или я обязательно должны разместить службу в IIS 7 или самостоятельно разместить его в управляемом приложении/службе Windows?

Благодарим вас за понимание!

ответ

11

IIS6 и встроенный веб-сервер Cassini поддерживают только http, извините.

Вам необходимо либо самостоятельно разместить свою службу, например. консольное приложение или разместить его в IIS7, чтобы использовать NetTCP.

VS2008 SP1 также поставляется с приложением WCF Test Host, которое может использоваться для этих целей, а также поддерживает NetTCP и все другие протоколы.

Это называется WcfSvcHost.exe и должно быть найдено в вашем каталоге C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE. Вы можете указать DLL, содержащую вашу реализацию службы, и файл конфигурации для нее, и она будет загружать вашу службу и размещать ее для вас.

MSDN документация WcfSvcHost здесь:
http://msdn.microsoft.com/en-us/library/bb552363.aspx

Вот что это будет выглядеть в вашей среде:

alt text http://i28.tinypic.com/2eyw0h2.png

и вот WcfTestClient.exe связано с тем размещаемой службы - обратите внимание на конечную точку netTcp:

alt text http://i32.tinypic.com/3505do1.png

Чтобы установить его в Visual Studio, используйте вкладку библиотеки проекта WCF услуг «Свойства» и выбрать для запуска WcfSvcHost.exe в качестве внешней программы и поставить правильные аргументы командной строки, например:

alt text http://i28.tinypic.com/104p0jk.png

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

Marc

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