VS2012 IIS Express Option Disabled - visual-studio-2012

I have just installed VS2012 and created a MVC project. I right clicked on project and selected property, I chose Web tab. I selected "Use Local IIS Web server" but the "Use IIS Express" checkbox is disabled.
I checked my C:\Program Files (x86)\IIS Express\ folder and IIS Express 8 is there.
Any particular reason?
If I fall back to use Visual Studio Development Server, I have 50% of the chance to see "Server Too Busy" message.

All you have to do is to activate IIS in your development machine:
Start -> Control Panel -> Enable or disable Windows features -> Internet Services
Then check mark in World Wide Web Services -> Common HTTP Features
And check mark in World Wide Web Services -> Application development Features
That's all you need.

Using Full IIS has some benefits. One is that it is always running, so you don't have to start your VStudio Project to unit test. Another is that you can create an actual site and configure IIS mirroring production, using the same Admin Tools, which makes it easier to support when deployed in an environment. And, I seem to recall that IISExpress had issues with Application Routing. On the flip side, I don't see an issue with using the Full IIS. Granted, IISExpress is much better than Cassini, but if there is no reason to not use Full IIS then I conitnue to advocate it's use.

Related

Debugging multi-site web applications in Visual Studio on Windows 8.1

I have a multi site Azure based web application. One site contains the web pages (with the view functionality driven through jQuery, Raphaël, and HTML) and a thin WCF service. The second site contains a more functional WCF service which in turn calls the data objects that call the database. We stopped development on the site a few years ago but it is still live for the few people who still enjoy using it.
Yesterday I had to fix an cross-site scripting vulnerability someone had reported on the site.
I was alarmed to find that I can no longer run the sites on my local machine under Visual Studio to test and debug any changes before deploying them to Azure.
Because of the interaction between the two WCF sites I had the local debugging set up as follows:
In the Internet Information Services Manager tool (InetMgr) I add additional websites with their physical path set to the location of the source code in the TFS local path on my machine.
I edit the host name in the site's binding to mimic the Azure location, i.e. the main site is projname.cloudapp.net:80 on Azure and projnamelocal.cloudapp.net:80 in my local IIS and the data WCF site is projname-wcf.cloudapp.net:8080 on Azure and projname-wcflocal.cloudapp.net:8080 in my local IIS. (N.B. The main site has a HTTPS binding too.)
I edit C:\Windows\System32\drivers\etc\hosts to include the lines
127.0.0.1 projnamelocal.cloudapp.net
127.0.0.1 projname-wcflocal.cloudapp.net
In Visual Studio I edit the web properties for the main site's project so that it uses the local IIS and project URL http://projname.cloudapp.net/ and I have a switch (in the code to say whether to call the local WCF or the live Azure one.
In the past when the project was under active development this set-up worked fine for locally testing and debugging. Yesterday it failed, one one machine http://projnamelocal.cloudapp.net/ gave a 503 error on another a 404. (N.B. I can ping each URL from the command line so the hosts redirect is working.) Visual Studio complains that it is "unable to start debugging on the web server" and that it "could not start ASP.NET debugging".
I've tried all the suggestions and some:
Running without debugging
Running Visual Studio as administrator (I was already)
Re-registering ASP
Changing the app pool
Giving everyone full permissions to the code directory
Running as my own domain account that is an admin on the local machine
Changing IE to not auto-detect proxies
Adding the sites to IE's list of trusted sites
Turning off IE's protected mode
Restarting Visual Studio
Restarting the PC
Restarting the PC again
How should I set-up this style of running, testing, and debugging local sites work in IIS under Visual Studio?
Got it.
I had forgotten to go to Control Panel > Programs > Turn Windows features on or off > .Net Framework 4.5 Advanced Services > WCF Services > HTTP Activation
Now that I have that installed the local sites start

HTTP Error 404.17 - Not Found (.Net 4)

I've just got a new server setup on Windows 2008 Web edition. I'm trying to set the first asp.net 4 application up on it but am having nothing but problems.
The latest is that I'm getting the 404.17 error, which says "the requested content appears to be script and will not be served by the static file handler.".
I've done a lot of research on google but most suggestions seem to be to run aspnet_regiis -i to install asp.net 4. I've done this several times both on the Framework and Framework64 folders, but with no success.
I tried changing from the default application pool to a .net4 application pool, which appeared to work at first and I instead got a server error to do with permissions. I fixed that, and immediately the 404.17 error returned.
Other suggestions I've read say to go into the "turn windows features on and off" and make sure .net 4 is selected there under IIS. However on this server clicking "turn windows features on and off" takes me to the standard windows 2008 server manager. I click "add features" there, and only ".NET Framework 3.0 Features (Installed)" is listed and selected. .NET 4 isn't shown there, yet it is selectable through the application pools.
What else can I try to get the website running as I'm at a complete loss now. Its annoying because my old server was easy to manage - I did it all through the server itself without a control panel (Windows 2003), now on my new server I have to manage most of it through Plesk because there is no dns.
Any help would be much appreciated.
I too had the same problem but solved it with simple solution. My program was in framework 4.0 but in application pool was mapped to framework 2.0.
Just changed the frame work in application pool to 4.0.
It worked.
I've finally figured out the problem, and it was to do with Plesk itself.
After delving through some of the thousands of links throughout the plesk control panel I found a page for "Website Scripting and Security". Under there it was set to .NET 2.0. However, even though I'd installed .NET 4 on the server, Plesk didn't know about it. Although the application pool I'd set the website to run under through IIS was .NET 4, it still wouldn't work for some reason.
I then found another page under "tools and settings" for server components, and on that page is a refresh button. Hit that and it suddenly realised that .NET 4 was installed, went back to the website scripting and security page, selected .NET 4, and hey presto, I got a server error (never have I been so glad to see a server error).
I then just had to give the application pool identity read access to the web folder, and the website worked.
I wish I'd paid an extra £15 per month for Windows 2008 Standard edition now so I could manage it all manually without Plesk.
Ensure that you are running this application under a Virtual Directory, also ensure that your IIS has ASP, ASP.Net, ISAPI Extensions And Filters, Static Content installed.
Change the .net framework from 'plesk' panel:
go to Domains
select then domain
Go to 'Domain and Websites & Domains'
Hide Advanced Operations
Go to 'Asp.net Settings'
Go to 'Change Version'
select 4.0
If you don't have the 4.0 option then you must install the framework on your server first.

Where is IIS on Windows Server 2012 Essentials

I just got Windows Server 2012 Essentials installed and I would like to set up my dev web projects in IIS on the server. But I can't seem to find how to get to it? When I remote to the machine with my admin account all I seem to have access to is the dashboard.
Can anyone tell me what to do?
Essentials comes with IIS preinstalled, so unless you uninstalled it for some reason, its there already.
I'm assuming you want to get to the IIS 8 admin tool.
In order to get there
press the start button (on your keyboard)
click on the Administrative Tools tile
From there scroll down to IIS Manager and double click
OR
Hold down the windows key and press the R key (win+r)
then type in inetmgr
Apparently is not that simple on ws2012 as I thought, please try following this guide:
http://www.iis.net/learn/get-started/whats-new-in-iis-8/installing-iis-8-on-windows-server-2012
I don't think it's whether he has it installed or not, it's that they changed how you GET to it. IIS manager USED to be accessible from Server Manager, but it is no longer so. In 2008 (and earlier, but I don't have a box readily available) from Server Manager, expand Roles, then Web Server. If you click "web Server" You see a "dashboard", displaying events, Services, Best Practices, Etc. WITHIN that, you can click Internet Information Services (IIS) Manager, and see the sites, and manage and configure the sites on the machine.
In 2012, you can ONLY see that dashboard information, events, service status, best practice, etc. There's no way to navigate into IIS and manage the sites and applications. Up in the top-right corner, the menu "Tools" (Between "Manage" and "View") contains IIS Manager.
I'd LOOOOOVE to see a transcript of the design session where this change was suggested. Mostly just to get the attendance, and then hunt them all down.
Make sure that the IIS Management Console is enabled through via Control Panel -> Programs and Features. From Server Manager, click Add roles and features and follow the prompts.
You can find the inetmgr.exe at the below location:
C:\Windows\System32\inetsrv
Or you can run it from the run window
Win + R -> inetmgr -> Enter

disable IIS Express?

Just migrated to VS2012 and having this issue. I need to develop against real IIS server (to be able to debug web services when they called from network devices)
Having issues with "IIS Express started on same port", etc. But there seems to be no IIS Manager for Express? How do I control and configure it?
I'd rather fall back to real IIS
Register asp.net
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Open Project-> Right Click Select Properties-> Select Web Tab-> Select Use Local IIS Web Server & uncheck the Use IIS Express checkbok -> Specify Project Url
To uninstall IIS Express via Windows 10
Go to Settings -> Apps and features -> Select IIS Express -> Uninstall
Note: IIS Express is packaged with Visual Studio installation (if you have selected to develop ASP.NET Web applications). I DO NOT KNOW if uninstalling IIS Express will have undesirable repercussions in your VS IDE.
I would just follow the instructions above rather than completely uninstalling IIS Express.
Cheers!

HTTP Error 404.3-Not Found in IIS 7.5

I'm using IIS 7.5 on Windows Server 2008 R2 x64 Enterprise Edition. In the project we have developed with ASP.NET 4.0 we used WCF Service. But it doesn't run over domain when the software is running from local computer. Otherwise, I am getting the following error:
HTTP Error 404.3-Not Found
The page you are requesting cannot be served because of the extension
configuration. If the page is script, add a handler. If the file should
be downloaded, add a MIME map.
You should install IIS sub components from
Control Panel -> Programs and Features -> Turn Windows features on or off
Internet Information Services has subsection World Wide Web Services / Application Development Features
There you must check ASP.NET (.NET Extensibility, ISAPI Extensions, ISAPI Filters will be selected automatically). Double check that specific versions are checked. Under Windows Server 2012 R2, these options are split into 4 & 4.5.
Run from cmd:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
Finally check in IIS manager, that your application uses application pool with .NET framework version v4.0.
Also, look at this answer.
In my case, along with Mekanik's suggestions, I was receiving this error in Windows Server 2012 and I had to tick "HTTP Activation" in "Add Role Services".
In windows server 2012, even after installing asp.net you might run into this issue.
Check for "Http activation" feature. This feature is present under Web services as well.
Make sure you add the above and everything should be awesome for you !!!
I was having trouble accessing wcf service hosted locally in IIS. Running aspnet_regiis.exe -i wasn't working.
However, I fortunately came across the following:
Rahul's blog
which informs that servicemodelreg also needs to be run:
Run Visual Studio 2008 Command Prompt as “Administrator”.
Navigate to C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation.
Run this command servicemodelreg –i.

Resources