0
votes

Environment:
- Windows Server Standard 2008 SP2 (not R2) x64
- IIS7 with Media Services 4 for Microsoft SmoothStreaming
- MediaWiki and MySQL

SmoothStreaming is working great, MediaWiki is working great... Other miscellaneous Php apps are working great.

I've recently developed an application using Visual Studio 2010. When I debug the application in Visual Studio it compiles fine, no errors. When I move the compiled app to the web server it gives me errors even though the application pool is configured for .Net 4.0. I'm obviously missing something and I haven't found any answers all day.

I attempted to use the aspnet_regiis.exe tool to register ASP.NET 4 with IIS but no such file exists in %windir%\Microsoft.NET\Framework64\v4.0.30319 or %windir%\Microsoft.NET\Framework\v4.0.30319.

I don't get it, I'm on a Windows 7 Pro x64 machine right now and I have the necessary aspnet_isapi.dll files in both locations... but not on my Windows Server 2008 box even though I used the exact same .Net Framework 4 installer...

I've also tried uninstalling .Net Framework 4 and reinstalling so that it automatically registers with IIS7 but the asapi handlers never show up, and the registration tool doesn't exist in those directories.

What am I missing here?

The specific error (although my research into the specific error has yielded no direction) is "Handler 'PageHandlerFactory-Integrated' has a bad module 'ManagedPipelineHandler' in its module list" The only modules entry I have under web.config is <modules runAllManagedModulesForAllRequests="true"/>

2

2 Answers

0
votes

You question is a little unclear (because of the lack of detail in the errors you're receiving... e.g. do you get an error when you navigate to the page? Is it a 404? etc), but I will take a stab.

The first thought that comes to mind is, is the web app you are running an MVC application? If so, your web server might not be set up to handle routes.

If this is an MVC app, and you do get a 404, you try can adding the following to your web.config:

<system.webServer>
   <modules runAllManagedModulesForAllRequests="true">
<system.webServer>

This will ensure that ASP.Net is used to processes all requests on the web server for that site, assuming you've referenced System.Web.Routing in your application. If this turns out to solve the problem, it might be worth looking into a more scalable solution.

0
votes

Turns out I'm a gigantic noob.

It's important you make sure you've got the right version of .NET Framework 4.0 installed. You need the "Client" version. If you install "ServerCore" you'll run into the same issue I had even though intuitively you would think you need "ServerCore" to run a web "Server" such is not the case.