2017-01-09 8 views
1

.Net 4.5.2 프레임 워크에서 실행중인 웹 응용 프로그램 내부의 웹 양식에서 COM 개체를 호출하기 위해 노력하고 있습니다..Net 응용 프로그램은 AspCompat 지시문과 WebSocket (SignalR에서 사용됨)을 동시에 지원할 수 있습니까?

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidOperationException: <%@ Page AspCompat="true" %> and <httpRuntime apartmentThreading="true" /> are unsupported in the current application configuration. To work around this, add the following configuration switch in Web.config: 
<appSettings> 
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="false" /> 
</appSettings> 
For more information, see http://go.microsoft.com/fwlink/?LinkId=252465. 

오류 메시지가 나는 을 포함해야 상태 ASPNET하십시오 STA (단일 스레드 아파트) COM 개체를 호출하는 데 필요한 AspCompat = "true"로 페이지 지시문을 사용할 때 다음과 같은 오류 메시지를받을 : UseTaskFriendlySynchronizationContext = false은 web.config 파일의 응용 프로그램 설정에 있습니다.

Exception information: 
    Exception type: InvalidOperationException 
    Exception message: WebSockets is unsupported in the current application configuration. To work around this, remove the following configuration switch in Web.config: 
<appSettings> 
    <add key="aspnet:UseTaskFriendlySynchronizationContext" /> 
</appSettings> 
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(Func`2 userFunc, AspNetWebSocketOptions options) 
    at Microsoft.AspNet.SignalR.Transports.WebSocketTransport.AcceptWebSocketRequest(Func`2 callback) 
    at Microsoft.AspNet.SignalR.PersistentConnection.ProcessRequestPostGroupRead(HostContext context, String groupsToken) 
    at Microsoft.AspNet.SignalR.TaskAsyncHelper.FromMethod[T1,T2,T3,TResult](Func`4 func, T1 arg1, T2 arg2, T3 arg3) 

가 = AspCompat를 포함 할 수는 "애플리케이션이 또한 (SignalR 사용함) WebSocket을 사용하므로 이것은 제 예외를 해결하지만, 새로운 예외 앱 설정 삭제 요청 발생되게 true "페이지 지시문을 웹 양식에서 사용하고 .Net 응용 프로그램의 다른 곳에있는 WebSockets (SignalR에서 사용)을 계속 사용합니까?

답변

0

예. SignalR은 클라이언트 측 JavaScript 라이브러리와 서버 측 처리기 (동일한 ASP.NET 페이지가 아님)입니다. WebSocket은 Windows 8 이상에서만 지원되며 Windows 기능이 설치되어 있어야합니다.

+0

응답 해 주셔서 감사합니다. Asp.Net에 aspnet이 필요하기 때문에 질문을 명확히하기 위해 WebSockets (Signal R에서 사용)과 AspCompat = "true"페이지 지시문을 동일한 응용 프로그램에서 사용할 수 있는지 확인하려고합니다. UseTaskFriendlySynchronizationContext app 설정이 존재해야합니다. 하나는 제거하지만 다른 하나는 제거해야합니다. –

+0

예, 가능합니다. 그 일과 아무 관련이 없습니다. –