What does AspCompat="true" mean and when should I use it?
Answer Posted / swapna
AspCompat is an aid in migrating ASP pages to ASPX pages.
It defaults to false but should be set to true in any ASPX
file that creates apartment-threaded COM objects--that is,
COM objects registered ThreadingModel=Apartment.
That includes all COM objects written with Visual Basic
6.0. AspCompat should also be set to true (regardless of
threading model) if the page creates COM objects that
access intrinsic ASP objects such as Request and Response.
The following directive sets AspCompat to true:
<%@ Page AspCompat="true" %>
Setting AspCompat to true does two things. First, it makes
intrinsic ASP objects available to the COM components
by placing unmanaged wrappers around the equivalent ASP.NET
objects.
Second, it improves the performance of calls that the page
places to apartment- threaded COM objects by ensuring that
the page (actually, the thread that processes the request
for the page) and the COM objects it creates share an
apartment.
AspCompat="true" forces ASP.NET request threads into single-
threaded apartments (STAs). If those threads create COM
objects marked ThreadingModel=Apartment, then the objects
are created in the same STAs as the threads that created
them. Without AspCompat="true," request threads run in a
multithreaded apartment (MTA) and each call to an STA-based
COM object incurs a performance hit when it's marshaled
across apartment boundaries.
Do not set AspCompat to true if your page uses no COM
objects or if it uses COM objects that don't access ASP
intrinsic objects and that are registered
ThreadingModel=Free or ThreadingModel=Both.
| Is This Answer Correct ? | 3 Yes | 1 No |
Post New Answer View All Answers
Can you explain the importance of finalize method in .net?
What is the difference between page.registerclientscriptblock and page.registerstartupscript?
How many types of session in ASP.NET
What are client activated objects?
Explain about Automatic resource management?
Where code pages are used?
Types of instancing properties and explain each. Tell the difference between multiuse,singleuse and globalmultiuse and which is default ?
What is the difference between the response.write() and response.output.write() methods?
Explain State management in asp.net
Define managed code and managed data in .net?
What are the difference between overriding and overloading?
Explain the flow of processing of the request? : asp.net mvc
Explain the use of fragment caching.
Where are session variables stored?
What is difference between inproc and outproc?