설치 - DOTNET/C#을 통해 간단한 COM 추가 기능을 만들면 5 초 동안 현재 스레드에서 대기 상태가됩니다. 윈도우 2003 서버를 실행하면 COM 구성 요소가자는 동안 사이트의 test.asp라는 페이지 블록이 다른 모든 스레드,다른 스레드를 순차적으로 차단하지 않는 Classic ASP 용 DOTNET COM interop 어셈블리를 만들려면 어떻게해야합니까?
<%@ Language=VBScript %>
<%option explicit%>
<%response.Buffer=false%>
<%
dim test
set test = CreateObject("ComTester.Tester")
%>
<HTML>
<HEAD></HEAD>
<BODY>
<%
Response.Write(test.Test())
set test = nothing
%>
</BODY>
</HTML>
: ASP 페이지에서
namespace ComTest
{
[ComVisible(true)]
[ProgId("ComTester.Tester")]
[Guid("D4D0BF9C-C169-4e5f-B28B-AFA194B29340")]
[ClassInterface(ClassInterfaceType.AutoDual)]
public class Tester
{
[STAThread()]
public string Test()
{
System.Threading.Thread.Sleep(5000);
return DateTime.Now.ToString();
}
}
}
는, 테스트 구성 요소를 호출.
모든 ASP 작업자 스레드를 차단하지 않는 ASP 용 COM 구성 요소를 만들려면 어떻게해야합니까?
테스트를 통해 직렬화/차단이 세션 수준에서만 발생한다는 것을 알 수 있습니다 (동일한 세션을 가진 다른 모든 페이지는 순차적으로 차단됨). –