2012-09-10 35 views
0

我有一個WCF服務設置爲WSDuallHTTP,並且一切正常。我遇到的問題是我需要能夠讓服務作爲非管理程序運行。我知道我可以設置WCF服務,這樣管理員只需授予服務在某個端口範圍內運行的權利,但如果我完全不需要管理員,它會好得多。將WCF服務從WSDualHHTP更改爲NETTCP錯誤

由於這我已經讀了NETTCP綁定都支持雙工並且不需要管理員權限來託管服務。我的第一個問題是,這是正確的?

此外,當我更改WSDualHTTP綁定到NETTCP綁定我得到以下錯誤。

Could not find a base address that matches scheme net.tcp for the endpoint with binding NetTcpBinding. Registered base address schemes are [http]. 

下面是代碼多數民衆贊成失敗:

string WCFHost = string.Format(WCF_URL, MainConfiguration.WCFCommunicationsURL, 
       MainConfiguration.WCFCommunicationsPort); 

       this.serviceHost = new ServiceHost(typeof(GX3WCFServerService), new Uri(WCFHost)); 
       NetTcpBinding binding = new NetTcpBinding(); 
       binding.ReaderQuotas.MaxStringContentLength = int.MaxValue; 
       this.serviceHost.AddServiceEndpoint(typeof(IGX3WCFServerService), binding, ""); 
       //the line above it the one throwing the exception 

請讓我知道,如果你需要的信息了。

回答

0

解決了問題所在。我的WCFHost字符串以HTTP:\開頭,而不是NET.TCP:\