WebTier Access Violations
I am using Report Server 9 with ASP.NET and a RemObjects application server.
The ASP.NET application creates a request (list of parameters), and sends it
to the application server. The application server has a web tier DLL loaded
in memory, and will pass the request data to it. The DLL returns a stream to
the application server, which converts the stream to a remotable stream, and
destroys the stream object afterwards.
At a given time the web tier only produces AV's, and no longer serves
reports. This especially happens when 2 users are requesting reports
simultaneously.
Has anyone had this before, or am I doing something obvious wrong?
Thanks in advance,
Mariella
The ASP.NET application creates a request (list of parameters), and sends it
to the application server. The application server has a web tier DLL loaded
in memory, and will pass the request data to it. The DLL returns a stream to
the application server, which converts the stream to a remotable stream, and
destroys the stream object afterwards.
At a given time the web tier only produces AV's, and no longer serves
reports. This especially happens when 2 users are requesting reports
simultaneously.
Has anyone had this before, or am I doing something obvious wrong?
Thanks in advance,
Mariella
This discussion has been closed.
Comments
Here is an example of using ASP.NET and the WebTier
www.digital-metaphors.com/tips/AspDotNetWebTier.zip
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
I am afraid I am not helped in any way by the example. For security reasons
I can only load the web tier in the application server, so I can perform
some security checks before the request gets passed to the web tier.
Please read the description of the way I set it up.
Might I be doing something obviously wrong, or are any problems known with
calling a normal web tier DLL from a multi-threaded application?
Kind regards,
Mariella
The way that ASP and ASP.NET work is that you embed the WebTier in a COM
object (basically a DLL that contains a COM Interfaces (i.e. a typelib). I
think you could use either of those examples to build a COM enabled WebTier
that could be loaded from the app server. I was trying to move you to more
of a standard architecture that we have tested.
We have also had customers embed the WebTier inside an IntraWeb app, but I
do not have any examples.
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com
I converted the normal DLL web tier to an ActiveX DLL with an Automation
object, where the automation object is created from the Application server.
It appears to do the trick, as simultaneous requests do not longer crash the
web tier. I got an AV once, but I did not need to restart anything. The
consecutive requested report was published without any problems.
I think it may have to deal with Apartment threading, as that model will
create a unique object for every request, and will not use the same object
for simultaneous requests.
Kind regards,
Mariella
Excellent. (I was thinking about this last night and came to the same
conclusion about the instancing).
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com