我在控制檯應用程序中有此代碼。 我試圖從開發工具鉻連接,但得到這個錯誤,雖然這個問題是肯定的WCF的一面:使用WebSockets自行託管的WCF不能使用SSL
WebSocket connection to 'wss://127.0.0.1:5650/Echo' failed: Error in connection establishment: net::ERR_CONNECTION_RESET
WSS不打我的服務器代碼,沒有例外甚至沒有日誌。最小修改的WS工作正常。我用Microsoft.WebSockets從的NuGet來簡化代碼:
WebSocketHost server = new WebSocketHost(typeof(EchoWSService), new Uri("https://127.0.0.1:5650/Echo"));
var bindingSsl = WebSocketHost.CreateWebSocketBinding(true);
server.AddWebSocketEndpoint(bindingSsl);
server.Open();
我已經嘗試過自定義證書驗證,但正如我所說這是不是打我的代碼。
現在我除了server.Open()相同的代碼使用ServiceRoute一個ASP.net應用程序,它工作相當好!是使用SSL和VS的IIS生成的自簽名的證書表示:
RouteTable.Routes.Add(new ServiceRoute("Echo", new TRWebSocketServiceFactory(), typeof(EchoWSService)));
瀏覽器端僅是:
var ws = new WebSocket('wss://127.0.0.1:5650/Echo')
在的web.config我沒有超過
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
那麼爲什麼地獄不在我的自我託管的WCF在一個簡單的控制檯應用程序?
您是否在配置中啓用了跟蹤功能?如果不添加,你可能會得到一些關於它失敗原因的更多細節。 –
自簽名證書? – vtortola
@JamieBabineau yep我啓用了日誌,但我沒有得到任何東西,當我嘗試進行連接時<= source name =「System.ServiceModel」switchValue =「All,ActivityTracing」propagateActivity =「true」> –