Q&A

  • ComServer Object
안녕하십니까..

한번 읽어봐 주시고.. 문제점이 무엇인지 좀 알려주세요

asp에서 call할 수 있는 com server 를 하나 만들고..

두개의 함수를 생성했습니다.

하나는 20초간 sleep을 하는 deadlock이라는 함수이고

두번째는 단순히 integer 10을 return 하는 함수인 test입니다.

asp페이지 두개를 생성하여

첫번째 놈은.. deadlock.asp로...
Set obj = Server.createObject("MyObject.QTest")
intSuccess = objSearch.deadlock

두번째 놈은.. test.asp로....
Set obj = Server.createObject("MyObject.QTest")
intSuccess = objSearch.test

이렇게 만들었습니다.

이렇게 한후 http://localhost/deadlock.asp를 콜한후...
http://localhost/test.asp를 콜하면..

deadlock.asp의 sleep 시간이 지난후에야.. test.asp의 결과를
볼수 있습니다.

제 짧은 생각으로는 comserver를 apartment, multithread로
만들었기 때문에... deadlock에 상관없이...
웹서버에서 threading model에 따라 처리해 줄 것이라고 기대했는데요..
그렇지가 않네요.
제가 com내부에서 thread를 직접생성해서 처리해야 하는 건가여?

혹시 이 현상에 대해서 저에게 설명해 주실 분... 답변좀 부탁드립니다.

0  COMMENTS