IIS 7 and Above
ASP, com+, MTA - Not playing well together
Last post Sep 27, 2017 03:21 PM by SectionOne
Sep 18, 2017 06:37 PM|SectionOne|LINK
I have a c++ com+ object that i'm using as my DB layer to communicate with Oracle.
I can't make more than 1 concurrent request to an asp file that is using that com+
All other requests just go to the ASP queue until the first thread finishes and the com+ returns.
It is marked as an MTAthread in the c++ code.
On iis => asp => Com Plus Properties => Execute in MTA = true
Debugging (client & server) are set to false
I'm on IIS 10
This is from debugDiag => https://drive.google.com/open?id=0BwoJABE2FogsMG5jWDd5UGFXUmM
I'm at a loss...
Sep 19, 2017 06:47 AM|Yuk Ding|LINK
I think it is a bit difficult to diagnose this issue. Maybe you could check this link to ensure the MTA com+ has been used correctly:
Sep 19, 2017 07:13 AM|SectionOne|LINK
Sep 21, 2017 07:28 AM|Yuk Ding|LINK
It looks like the debug diagnostic report is requiring a further analyze with the dump file. So maybe you need to consult someone who is expert in dump analysis.
Sep 24, 2017 01:43 PM|SectionOne|LINK
Is there someone who can instruct me as to the steps i need to take in c++ to make my object have MTA support?
Sep 27, 2017 01:52 AM|Yuk Ding|LINK
Since this is a IIS forum, I'm afraid I can't provide the support for MTA or someone who can consult c++. Maybe you could ask stackoverflow or open the support case:
Sep 27, 2017 03:21 PM|SectionOne|LINK
Well, it seems that the problem has been found.
Apparently the asp session state is causing single threaded behaviour and to "fix" it i need to declare
<% @EnableSessionState=False %>
At the top of my pages or do this on IIS level..
https://msdn.microsoft.com/en-us/library/ms972335.aspx (Tip #6)
The problem is that i'm using session to store my userID as well as other things and changing that now is a major headache as I have an enterprise-level application.
If only classic asp had the ability to set EnableSessionState to ReadOnly like asp.net does :(
It has nothing to do with setting the com+ object class to MTA or enabling "run in MTA" in the IIS asp settings