tags:

views:

430

answers:

3

I have a problem that I have been fighting for a couple of days now. I have developed a web application in VS 2008 SP1 utilizing many of the available .Net 3.5 AJAX functionality, as well as a lot of jQuery code. When testing on my local machine (XP Pro SP3, .Net 3.5 SP1), the application works great. This application is being deployed to our production server (2K3, .Net 3.5 SP1) as a subdirectory off of the main site (www.mainsite.com/newapp). The main site is a .Net 2.0 site. When I deploy this application to our production server as a subdirectory and run it, I get the elusive 'Sys.WebForms.PageRequestManager' is null or undefined.

I have been through dozens of posts from various sources checking web.config files, ISAP Mappings, GAC assemblies, 404 errors of the .axd file, etc. and none of them apply. In a last ditch effort to solve the problem, I created the application as a subdomain of the main site instead of a subdirectory (newapp.mainsite.com) and POOF it works! Everything works correctly, just like on my development machine.

So my question is, how can I get this to work as a subdirectory? No, subdomains are not an option, as this is a proof of concept for an app that will eventually become perhaps 100's of subdirectories. What am I missing? What should I be checking? And before anyone asks, yes it is configured as an application on IIS when it is a subdirectory (I have actually tried it both as an application and a virtual directory registered as an applicaiton, neither work).

Time is running out on this, so any help would be greatly appreciated. Thanks!

UPDATE: To help show that the server and site are both configured propertly for .Net 3.5, I am using the Entity Framework as well as LINQ to SQL objects to perform my data operations. All of this functionality is working correctly in both the subdomain AND subdirectory environment. I know this has something to do with the site's access to the MS Ajax jscript files, I just don't know how to figure out what that problems specifically is and how to correct it.

A: 

When you configured it as it's own application in IIS, did you specify that it use 3.5 and not 2.0 like it's parent?

AndyMcKenna
3.5 uses the 2.0 dll to run, so there is never a 3.5 option to specify in the .net version in IIS.
Robert
A: 

Try using a virtual directory for the new application. So into IIS and under your website, remove the sub directory that you created for the new app. Next create a vitual directory with the same name as you had for the sub directory (right click on the web site, and goto add->Virtual directory). Next set all the properties for the virtual directory like you would for a web site, and then point the document root to the directory the houses the new app. This should allow them to run simultanously and in a difefrent process.

As for setting the .net version. There is no .Net 3.5 option in IIS, just 1.1 and 2.0. Use the 2.0, since 3.5 still uses the 2.0 asapi .dll.

aquillin
As noted above, I have already tried this. Just to verify, I went ahead and went through it again according to the instructions you posted, and I am still seeing the same behavior.
Robert
A: 

Try running the virtual directory under a different app pool than the main site, so the app will live in't own appdomain. If you still want to use the same session, edit the web.config to include the machinekey element, putting the same machine key in both web.config's

Colin
Nope, that didn't work either. To note, previously the app exists in the same app pool as the main site when it is both a subdirectory and a subdomain. Again same result, subdomain works, subdirectory does not.
Robert
Maybe this is the answer you are looking for:http://aspadvice.com/blogs/sswafford/archive/2007/01/25/ASP.NET-AJAX-v1.0-Sys-is-undefined-error.aspx
Colin
Tried this, still didn't work.
Robert

related questions