2drews
asked on
Perl ASPX conflict with .Net 1.1 and .Net 2.0
Hello,
I am a systems administrator who can do basic Perl and PHP without much of a problem. I have a website I have to support which interfaces with a third party. This third party only writes in Perl CGI which I am fine with but I didn't build the site I have to support which is in .Net 1.1.
To interface with the 3rd party they were using Perl ASPX from ActiveState to retrieve the cookie and unencrypt the Perl encrypted session information. The same encryption type wasn't decrypting properly in .Net so to get it unencrypted properly they incorporated this Perl ASPX code. This was working just great until .Net 2.0 was installed on the server.
Now we get this error and the whole site is taken down:
c:\windows\system32\inetsr v> "C:\Perl\bin\plcx.exe" --asp.net /noconfig @"C:\WINDOWS\Microsoft.NET \Framework \v1.1.4322 \Temporary ASP.NET Files\root\a4256d24\1c7241 5f\eapcle8 l.cmdline"
PerlNET 1.1.0 build 110
Copyright (C) 2001-2003 ActiveState Corp. All rights reserved.
c:\WINDOWS\Microsoft.NET\F ramework\v 1.1.4322\m scorlib.dl l: error CS1703: An assembly with the same identity 'mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c56193 4e089' has already been imported. Try removing one of the duplicate references.
c:\WINDOWS\Microsoft.NET\F ramework\v 2.0.50727\ mscorlib.d ll: (Location of symbol related to previous error)
Stopped with exit code 1
System.AccessViolationExce ption: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Do to another client requiring .Net 2.0 we cannot uninstall it from the server so that is just not an option. The exact errors messages, and situation can be best found by reading this thread.
http://aspn.activestate.com/ASPN/Mail/Message/perl.net/2861761
At the end of the day the need is to only get the session information from the cookie into .Net so their session can stay intact. the Cypt::Tea encryption just doesn't work the same between .Net and Perl. It looks like the Perl ASPX system uses the GAC (Global Assembly Cache) to read in the libraries it needs and completely ignores the bin directory. (I tried to put the correct version in the bin folder to no avail) So when both versions are on the server and have the same named files in the GAC it wiggs out as shown in the error above.
The server is Window 2003 Standard running IIS 6.0 with the site in it's own application pool away from everything else. If I remove this cookie retrieving code in the footer then whole site works PERFECT so I am very sure this is the problem.
Perl ASPX is not supported or being developed anymore so I am pretty much stuck at this point. I have been working on this for about a week and gotten no where so I am appealing for help. Pleae forgive me if I am overlooking or omitting part of the issue.
I love this site and use it a ton for answers but I have found nothing on this. I am a pretty good admin overall and every question I have posted has stumped everyone so I don't ask unless I have axhausted all my resources (I have bugged everyone I know that might be able to help). Thanks for anything you might be able to suggest.
I am a systems administrator who can do basic Perl and PHP without much of a problem. I have a website I have to support which interfaces with a third party. This third party only writes in Perl CGI which I am fine with but I didn't build the site I have to support which is in .Net 1.1.
To interface with the 3rd party they were using Perl ASPX from ActiveState to retrieve the cookie and unencrypt the Perl encrypted session information. The same encryption type wasn't decrypting properly in .Net so to get it unencrypted properly they incorporated this Perl ASPX code. This was working just great until .Net 2.0 was installed on the server.
Now we get this error and the whole site is taken down:
c:\windows\system32\inetsr
PerlNET 1.1.0 build 110
Copyright (C) 2001-2003 ActiveState Corp. All rights reserved.
c:\WINDOWS\Microsoft.NET\F
c:\WINDOWS\Microsoft.NET\F
Stopped with exit code 1
System.AccessViolationExce
Do to another client requiring .Net 2.0 we cannot uninstall it from the server so that is just not an option. The exact errors messages, and situation can be best found by reading this thread.
http://aspn.activestate.com/ASPN/Mail/Message/perl.net/2861761
At the end of the day the need is to only get the session information from the cookie into .Net so their session can stay intact. the Cypt::Tea encryption just doesn't work the same between .Net and Perl. It looks like the Perl ASPX system uses the GAC (Global Assembly Cache) to read in the libraries it needs and completely ignores the bin directory. (I tried to put the correct version in the bin folder to no avail) So when both versions are on the server and have the same named files in the GAC it wiggs out as shown in the error above.
The server is Window 2003 Standard running IIS 6.0 with the site in it's own application pool away from everything else. If I remove this cookie retrieving code in the footer then whole site works PERFECT so I am very sure this is the problem.
Perl ASPX is not supported or being developed anymore so I am pretty much stuck at this point. I have been working on this for about a week and gotten no where so I am appealing for help. Pleae forgive me if I am overlooking or omitting part of the issue.
I love this site and use it a ton for answers but I have found nothing on this. I am a pretty good admin overall and every question I have posted has stumped everyone so I don't ask unless I have axhausted all my resources (I have bugged everyone I know that might be able to help). Thanks for anything you might be able to suggest.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I am so unbelieveably happy right now!
the new executable name is plcx.exe so I just had to rename the config file and it worked! Thanks so much for your googling. I never found the result you did. Thanks again.
the new executable name is plcx.exe so I just had to rename the config file and it worked! Thanks so much for your googling. I never found the result you did. Thanks again.
ASKER
c:\perl\bin
C:\WINDOWS\Microsoft.NET\F
C:\WINDOWS\Microsoft.NET\F
C:\WINDOWS\Microsoft.NET\F
In the doc root of the site too.
They don't say where to put it so I am out of ideas on that.