2013-05-20 43 views
1

我無法獲得服務器2012 iis主機net.tcp。net.tcp不再在服務器2012工作

在服務器2008R2/VS2012沒有問題

在server2012/VS2012擊中我第一次收到WDSL當「協議‘的net.tcp’沒有註冊HostedTransportConfiguration類型的實現。」,然後如果我點擊刷新,我會得到「一個具有相同密鑰的項目已被添加。」

從TraceViewer的錯誤,如果「服務是無法打開的IChannelListener」

但我已經設置了默認的網站上的綁定(必須使用命令行,因爲它如果編輯淨拋出異常。 tcp在網格中,這是一個已知問題)

我已經在應用程序級別將綁定設置爲http,net.tcp,創建一個具有網絡服務標識的新AppPool,並使用findPrivateKey爲其授予權限。

我創建了Server 2008R2/VS2012的新版本,並且沒有上述步驟的問題。

編輯服務器的其他注意事項2012
添加角色和功能:
驗證安裝了下列:
的Web Sever的 - 應用開發:所有檢查,但CGI和ASP(經典)
.NET Framework 3.5的功能:所有檢查
Windows進程激活服務:所有檢查
IIS:默認Web站點:綁定的net.tcp 8081:

IIS:默認Web站點 - >高級設置 - >啓用的協議:HTTP,的net.tcp
IIS:默認網站\服務 - >高級設置 - >啓用協議:http,net.tcp

Server2012有什麼特別的嗎?

+0

啓用該服務? – ChaosPandion

+0

@ChaosPandion - 應該是,我需要檢查一個明確的設置嗎? – Eric

+0

防火牆怎麼樣? IIS會在您的Web服務的防火牆中自動「打出一個洞」嗎? – fourpastmidnight

回答

0

這裏一些提示,你可以嘗試:

1,打開命令提示符(管理員),然後運行:netstat的 -ONa

檢查,如果你的服務是聽您的服務器端口。

示例:您的端點是net.tcp:// localhost:8015/MyService。因此,運行上面的命令,您將看到一個項目: TCP 127.0.0.1:8015 0.0.0.0聆聽

2 - 如果您的服務未偵聽,請創建控制檯應用程序並自行託管您的服務。 例子:

using System.ServiceModel.ServiceHost; 
public class Sample 
{ 
    ServiceHost host = new ServiceHost(typeof(MyService)); 

public static void Main() 
{ 
     host.Open(); 

     Console.WriteLine("listening..."); 

     Console.Read(); 

     host.Close(); 
    } 
} 

3,重複第一步,檢查你的服務正在偵聽的端口。

+0

感謝您的建議,但最終發現了server2012的另一個已知問題 – Eric

相關問題