Hiyas,
I've been banging my head against a brick wall for the last few days
trying to work out why some of my code doesnt work.
I have an ASP/ASP.NET application (website) that is the was previously
simply an ASP site. The first thing we have done is moved an old C++
COM object that managed the applications security into a more OO
structure and also into the .NET environment - its now a number of C#
classes in a Service layer of the new site.
As a result, a few of the old ASP include pages were modified to
instantiate a different COM object that is simply the appropriate
assembly registered with COM using RegASM. This works with no problems.
However, I have just created an ASPX page that is displayed after the
user logs in, which does pretty much the same thing as its ASP
counterpart. This page has 4 frames, 1 for a logo, 1 for a navigation
menu, another for tabs and the last is the 'main' display area. The C#
code behind the page sets these frames source based upon the user who
has logged in etc. The ASPX page authenticates the user using the same
assemblies as the ASP pages and this all works properly. However, each
of the frames is pointed at an ASP page which then do their own security
checks via the same include file I mentioned earlier.
So whats the problem? Well, the new security assembly simply acts as a
remote proxy to a webservice that is hosted by the site which implements
teh actual logic for each method. A session cookie is added to the soap
packet that is sent to the webservice so the webservice can then
retrieve the session state from an Oracle/SQL Server database.
When called from an ASP page or an ASPX page this all works fine. But,
when called from the ASP pages embedded in the ASPX pages' frames, the
cookie gets lost somehow. I've added a tonne of debugging code to make
sure the cookies are actually added and that they are correct before the
SOAP packet is sent, but when I check the
HttpContext.Current.Request.Cookies collection in the webmethod of the
webservice, there are no cookies.
I'm assuming this is something to do with executing the ASP pages within
the frames of the ASPX page but cannot find any real reason why this
won't work.
Any help would be appreciated.
Cheers,
Ed