2016-06-22 5 views
1

4.5와 함께 작동하는 신호음이 있습니다. 4.6으로 업그레이드 한 후 Windows 2008 R2에서는 정상적으로 작동하지만 Windows 2012에서는 작동하지 않습니다.Websocket 연결이 .net 4.6에서 실패합니다.

오류 :

System.InvalidOperationException: WebSockets is unsupported in the current application configuration. To enable this, set the following configuration switch in Web.config: 
system.web 
httpRuntime targetFramework="4.5" 
system.web 
For more information, see http://go.microsoft.com/fwlink/?LinkId=252465. 
at 
System.Web.Util.SynchronizationContextUtil.ValidateMode(SynchronizationContextMode currentMode, SynchronizationContextMode requiredMode, String specificErrorMessage) 

at System.Web.HttpContext.AcceptWebSocketRequest(Func2 userFunc, AspNetWebSocketOptions options) at Microsoft.AspNet.SignalR.Transports.WebSocketTransport.AcceptWebSocketRequest(Func2 callback) 
at Microsoft.AspNet.SignalR.PersistentConnection.ProcessRequestPostGroupRead(HostContext context, String groupsToken) 
at Microsoft.AspNet.SignalR.TaskAsyncHelper.FromMethodT1,T2,T3,TResult 
--- End of stack trace from previous location where exception was thrown --- 
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
at Microsoft.Owin.Mapping.MapMiddleware.d__0.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
at 

    Microsoft.Owin.Host.SystemWeb.IntegratedPipeline.StageAsyncResult.End(IAsyncResult ar) 
    at   System.Web.HttpApplication.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 
    at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

내가 Web.config의에 httpRuntime을 targetFramework = "4.5"을 추가하면 응용 프로그램이 전혀 실행되지 않습니다.

+0

이 문제가 해결 될 때 문제를 해결 추가? – Aria

답변

3

가의 web.config으로

<appSettings> 
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true"/> 
    </appSettings>