Unable to create .Net 4.0 application pools in IIS - asp.net-mvc-3

I have installed ASP.NET 4 using the Web Platform installer of a Windows 2008 SP2 Server with IIS7.
The MVC sites work fine, when I set a default (created at an install time) ASP.NET 4.0 application pool to it.
But when I want my site to have it's own application pool, I am unable to create a new pool with .Net Framework 4 support - only .Net 2.0.
Is it a correct behaviour of IIS7? Do ASP.NET 4 apps all have to be hosted in the same default ASP.NET 4.0 app pool?

In command prompt type cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\ and run aspnet_regiis.exe -ir. That should help you.

Related

IIS 8.0 integrated pipeline Session RequestAcquireState

We are trying to make a cut over from IIS 6.0 to IIS 8.0 Integrated pool on Windows Server 2012 Standard edition for an application built on ASP.Net Version 4.0. Our web application requests go into a RequestAcquireState ( ASP.Net Session gets locked for concurrent requests working with the same sessionid ) , in IIS 8.0 Integrated pool on the above Windows Server . However this behavior does not show up when we run the same app in Classic mode on IIS 8.0 .
Session is stored InProc.
We can rectify this situation on a Windows Server 2012 Data Center by modifying SessionStateLockedItemPollInterval in registry. However that solution does not work in Windows Server 2012 Standard edition.
This has left us perplexed -
why does an ASP.Net Run time Session issue surface in IIS 8.0 Integrated Pool for an application we have run successfully on previous versions of IIS and classic mode in IIS 8.0 ?
How do we rectify this problem now on Windows Server 2012 Standard edition ?
Thanks, will appreciate if some body can help
IIS 8 comes with .net framwork 4.5 so you may be running into missing the fix http://support.microsoft.com/kb/2828842
Issue 6
Symptoms
When you send many concurrent requests that have the same SessionId to an ASP.NET 4.5 web application, some requests may freeze at the RequestAcquireState stage unexpectedly.
Resolution
After you apply the hotfix, the hotfix makes sure that the EndRequest event will always trigger.
try installing this fix and see if that addressed the issue

SignalR WebSockets on IIS 7.5

On my IIS 7.5, my SignalR application always used long polling.
As per my search, IIS 7.5 does not support WebSockets yet.
I hope, I missed some tools or configurations to enable WebSockets in IIS 7.5. Or I didn't?
You cannot use WebSocket on IIS 7.5 (in other words on Windows Server 2008 R2 or Windows 7) because it requires HTTP.sys level changes AFAIK. So, you need IIS 8.0 and Windows Server 2012 or Windows 8 combination to leverage WebSocket. Also, IIS Express 8.0 supports WebSockect, too but you cannot still leverage that if you are on an OS which is lower than Windows 8 or Windows Server 2012.
IIS 8 Express Supports websockets New Features
Windows 7 is considered a Down-Level Operating system and doesn't support Web Sockets. Known Issues and Limitations
Time to upgrade to Windows 8 if you want to support for web-sockets!
Here's a summary of the required setup steps to host on Windows 2008r2 with IIS 7.5:
Update the SignalR application's web.config file to enable "run all managed modules for all requests" (for short, this is the RAMMFAR setting).
Update the web page that uses SignalR to communicate with the server:
Add a reference to the json2.js library.
Add a tag that forces the content to display in a recent browser mode.
Set up a Windows Server 2008r2 with IIS 7.5 as follows:
Install the .NET Framework version that your SignalR application requires.
Create a site and associate it with the appropriate application pool.
Update the Signalr Application's Web.config File
In your SignalR application's web.config file, add the RAMMFAR setting to enable running all managed modules for all requests. This setting was required to get the SignalR sample application running in on Windows 2008r2 and IIS 7.5 in all browsers.
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
Update the Web Page that Uses SignalR
In the application web page that uses SignalR to communicate with the server, add the following code.
Add a reference to the json2.js JSON parser library. This script provides a JSON parser for previous browser versions that don't have it. You can add the script in one of two ways:
Add the NuGet package json2.js to your project, and then reference it in your web page:
Or as an alternative, reference json2.js on a CDN:
Add the following tag in the head section of the page. This tag, specifically the IE=edge value, forces Internet Explorer to display content in the most recent version available, rather than earlier modes (such as IE7) which prevent SignalR code from working.
Set up Windows Server 2008r2 and IIS 7.5
As noted, I built the sample SignalR application from the Getting Started with SignalR tutorial on .NET 4. This is a common hosting scenario on Windows 2008r2 and IIS 7.5. The server was a new default default installation of Windows Server 2008r2 and IIS 7.5.
Install the required .NET Framework version. In this case I installed .NET Framework 4.
Create a new site in IIS Manager, and associate the site with an application pool. Use integrated mode application pools, classic mode is not supported for SignalR. For this application I used the ASP.NET v4.0 application pool.
After following the above setup steps, I was able to deploy the .NET Framework 4-based version of the Getting Started with SignalR sample to the server, and it worked perfectly in IE (versions 8, 9, and 10), Chrome, and Firefox even though it was using fallback transport methods (forever frames in IE, and server-sent events in the other browsers). The interesting thing for SignalR developers is that apart from the above steps, I didn't have to change a single line of the SignalR code anywhere in the application to make this work.
This is a simple case but shows that SignalR really does support "automatic fallback" to earlier transport mechanisms when websockets support is not available on the server.

Not work ReportViewer and ASP.NET MVC 3 in IIS

I have an application that combines webforms with mvc3 hosted in IIS.
What corresponds to MVC 3 works perfectly in IIS, but when I try to access the pages .aspx not work
Error:
Parser Error Message: Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.
<compilation debug="true" targetFramework="4.0">
I have configured the Application Pools with .NET 4. The error occurs only when I try to access the pages .aspx. The rest works perfectly.
Note: When running the alplicacion with VS 2010 all works perfectly
Fix for Issue with 'targetFramework'
You need to register IIS with Asp.net v 4.0.
Using command prompt do it C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i
Your application pool under which the application hosted may not be Asp.net v 4.0. Create a new application pool of Asp.net version v 4.0 and managed pipeline mode - Integrated. And host your application under that.
Fix for Issue with Report Viewer
For fixing the issue with report viewer , you should install Microsoft Report Viewer 2010 Redistributable in the server.( ASp.Net MVC 3 also need to be installed in the server)

ASP.NET MVC 3 Requirements

Will ASP.NET MVC 3 run on Windows Server 2008 R2 Core? I've done some searching and can't seem to find this information.
Thanks
I just set up a Windows Server 2008 R2 in Server Core configuration. I installed MVC3 using the standard installer:
.\AspNetMVC3Setup.exe /q /log C:\mvc3setup.htm
This installed successfully and a sample MVC3 site works just fine.
According to the Server Core Installation Option Getting Started Guide, Windows Server 2008 R2 Core supports Web Server (including a subset of ASP.NET). Based on some to the additional features you can install (optional features) it looks very limited.
The red flags that stand out for me on the optional features are:
Subset of .NET Framework 3.0 and 3.5
Subset of .NET Framework 2.0
Based on the documentation, I come to the conclusion that running MVC3 would be very difficult and not possible.

how to configure iis7 on windows 7 home premium to run mvc 3

I have installed iis on my windows home premium but when requesting my mvc3 site I only get a blank page
I have created a new website running on port 8019
I have enabled all the checkboxes under iis but now all i get is:
HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.
I have configured an application under the default site same error
How do I configure my windows 7 home premium to run mvc 3 apps?
Do I need to install anything?
if
I thought that pointing my website to my code directory would run
thanks
My bad
aspnet mvc 3 was not installed so framework 4.0 was not installed that is why I could not see the aspnet_regiis in my folder
You might need to execute the ASP.NET IIS Registration Tool (aspnet_regiis.exe) which configures IIS for running ASP.NET applications. This is normally necessary if you install IIS after the .NET Framework.

Resources