Home Server
New Blog Posts: Merging Reports - Part 1 and Part 2

WebTier Access Violations

edited December 2005 in Server
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

Comments

  • edited December 2005

    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
  • edited December 2005
    Dear Nard,

    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
  • edited December 2005

    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
  • edited December 2005
    Dear Nard,

    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

  • edited December 2005

    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
This discussion has been closed.