2009-04-28 45 views
4

我試圖發佈一個計算服務將被應用服務器使用的一堆計算機上。計算服務器是有狀態的,需要能夠執行異步回調,所以我想通過TCP使用每會話設置。WAS承載與net.tcp綁定的WCF服務

服務應用程序是使用VS2008中的WCF服務應用程序項目類型構建的。

碰巧計算服務機器正在運行Vista,所以根據我讀過的文檔,我應該能夠使用WAS主機。我試圖按照關於這個問題微軟的說明:

Install and configure WCF components

Host a WCF service in WAS

但我早跑了麻煩。我應該將.svc文件放入我的應用程序的虛擬目錄中。但由於我沒有使用IIS託管,我該如何創建虛擬目錄?上面的文檔並不清楚這一點。

此外,試圖運行它允許我的應用程序的net.tcp訪問時,命令:

%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/<WCF Application>" /enabledProtocols:net.tcp 

我不知道該怎麼更換<WCF Application>。同樣,似乎還有一個步驟缺少以「IIS託管式」方式發佈服務的地方。

我創建了一個試圖使用該服務的測試應用程序。當我點擊「添加服務引用」時,它發現我的服務,但無法使用net.tcp連接到它。

有沒有人在這裏成功地在WAS託管和消費服務?你對我有什麼建議嗎?

更新:我現在嘗試添加net.tcp綁定到使用IIS管理器的網站(右鍵單擊 - >編輯綁定...),但添加...對話框中唯一可用的協議是http和https 。該列表中沒有net.tcp。是的,我已經安裝了非http激活組件......非常奇怪。

回答

5

由於WASIIS架構的一部分,你需要在IIS 網站(例如「默認Web站點」)指向WCF服務的物理位置創建一個虛擬目錄你正在主持。然後,您將不得不在該虛擬目錄上創建一個應用程序,就像您在ASP.NET網站或ASMX Web服務中那樣。
您可以通過使用IIS 7的管理控制檯輕鬆完成此操作。

您可以閱讀的詳細信息關於WAS如何在IIS7中工作here
欲瞭解更多一步一步指南WAS託管看看this article

+0

謝謝,我的確使用IIS管理器來做這件事。但是,編輯綁定對話框中不存在net.tcp。我不明白爲什麼因爲我添加了非http激活。 – 2009-04-28 13:33:48

1

您需要將net.tcp綁定添加到IIS中應用程序的綁定。

右鍵單擊IIS中的虛擬目錄/應用程序 - >管理應用程序 - >高級設置。

在Enabled Protocols部分,只需添加net.tcp和voila!