2013-12-11 2 views
-2

현재 다른 많은 개발자가 만든 큰 asp.net 페이지에서 많은 사람이 내부적으로 사용하고 있습니다. 나는 클래스를 생성하고 DLL을 bin 폴더에 추가해야만하기 때문에 페이지를 수정하는 다소 간단한 작업이 있습니다.클래스의 인스턴스를 만들려는 경우 비동기 작업 예외가 발생했습니다.

VoiceChecker vr = new VoiceChecker(); 

는 다음과 같은 예외가 발생합니다 :

비동기 작업은이 컨텍스트에서 허용되지 않습니다. 페이지 시작 비동기 작업을 수행하려면 Async 특성을 true로 설정하고 및 비동기 작업은 PreRenderComplete 이벤트 이전의 페이지에서만 시작할 수 있습니다.

왜 비동기 작업입니까? 비동기가되기를 원하지는 않습니다. 실제로 페이지가 해당 작업이 끝나기를 기다리는 것이 좋습니다. @Page를 Async = true로 설정하려고 시도했지만 어떤 이유로 인해 코드가 끝까지 블록되지 않습니다. 내 코드는 < 1 초 안에 완료되어야합니다.

클래스를 동기식으로 만들 수 있습니까?

+2

오류의 원인이되는 행이 맞습니까? 해당 클래스의 코드를 게시 할 수 있습니까? – woz

+0

@woz 네, 한 줄씩 디버깅했습니다. 귀하의 의견은 실제로 이미 나를 도왔습니다. 클래스의 생성자에는 사용되지 않는 코드 (일부 음성 인식 초기화)가 있습니다. 내가 그것을 제거한 후에 작동했습니다. – Feroc

+0

그래서 문제가 해결 되었습니까? 나는 대답을 게시 할 것이다. – woz

답변

0

생성자에 비동기 코드가 없으면 새 객체를 선언해도이 오류가 발생하지 않습니다.

관련 문제