I am new to the world of IIS and I wanted to know the following...
I have heard about IIS Express. I run Windows 7 Ultimate and have installed the IIS that comes packaged with Windows 7.
As a developer, is there any major benefit for me if I install IIS Express over the default IIS that comes with Windows 7 for .Net Web projects?
Here are the differences from http://www.mywindowsclub.com/resources/3302-Key-differences-between-IIS-IIS-Developer.aspx.
If you already have IIS installed - its a better product. IIS express would only be used by people who don't have access to IIS or want something that is lighter than IIS but more like IIS than Cassini.
Integrated with OS
IIS 7 ships with the operating system and is tightly integrated to Windows.
IIS developer express is a separate downloadable tool
Targetted users
IIS 7 is for both developers as well as for production purposes.
IIS developer express can be used only for development purposes and not for production.
Supported Windows editions
IIS 7 will work only on Windows Vista and newer editions of Windows. In case of server OS, IIS 7 will work only on Windows 2008.
IIS developer edition will work even on older version - starting from Windows XP and newer.
Process model and activation
In IIS 7, the worker thread is automatically launched and managed by Windows Process Activation Service.
In case of IIS Express, user has to handle this.
FTP support
IIS developer express does not support FTP while IIS 7 supports it.
WCF support
IIS Developer express supports only WCF over HTTP.
IIS 7 supports WCF including over TCP, Named Pipes, and MSMQ.
Multi developer support
IIS 7 is a single user application.
IIS Developer express supports multi developer environment. Configuration files, settings, and Web content are maintained on a per-user basis.
Visual Studio integration
All editions and versions of Visual Studio have built-in support for IIS 7.
Only VS 2010 and future versions will have built-in support for IIS developer express.
Runtime extensions
IIS developer has support for URL Rewrite and FastCGI.
Webmatrix offers support for SEO, database management and Web Deployment. Other extensions that are offered with IIS are not yet tested with IIS Developer express.
Management Tools
IIS 7 is managed using the IIS Manager.
IIS Developer express can be managed using Webmatrix. Also, the express edition has support through system tray.
Port used by IIS
The default website comes with IIS 7 listens to port 80.
The default website part of IIS developer express listens to port 8080 to avoid conflicts with IIS 7 when they are running side by side.
From Scott Gu's post on IIS Express:
Why Not IIS
The downside with using the IIS option today, though, is that some
companies don’t allow full web-servers to be installed on developer
machines. IIS also requires administrator account access to setup and
debug projects. Different versions of Windows also support different
versions of IIS. For example, if you are running on Windows XP you
have to use the IIS 5.1 web-server that comes with it – which doesn’t
support all the new features of IIS 7.x. Configuring a web project
within VS to use IIS also requires some extra installation and
configuration steps.
Why IIS Express
It’s lightweight and easy to install (less than 10Mb download and a
super quick install) It does not require an administrator account to
run/debug applications from Visual Studio It enables a full web-server
feature set – including SSL, URL Rewrite, Media Support, and all other
IIS 7.x modules It supports and enables the same extensibility model
and web.config file settings that IIS 7.x support It can be installed
side-by-side with the full IIS web server as well as the ASP.NET
Development Server (they do not conflict at all) It works on Windows
XP and higher operating systems – giving you a full IIS 7.x developer
feature-set on all OS platforms IIS Express (like the ASP.NET
Development Server) can be quickly launched to run a site from a
directory on disk. It does not require any registration/configuration
steps. This makes it really easy to launch and run for development
scenarios.
After a couple of hours i found one significant reason to use Express over Local IIS : "Edit and Continue" does not work on local IIS.
Related
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.
While developing an ASP.NET application I tried to install IIS Express 7.5 onto Windows XP. I downloaded the installer and ran it - IIS installed okay (I see it in Add/Remove Programs list), but I didn't find anything for controlling it (like the IIS console).
My colleague told me I should use IIS Manager for IIS 6, I installed it, but it only allows me to control IIS 5 that was installed on XP from the very beginning. I tried to install IIS Manager for IIS 7 but when I ask it to connect to localhost it shown an error message saying it can't find Microsoft.Web.Administration assembly which AFAIK is only available on Vista and later versions.
How exactly do I install IIS Express 7.5 and some administration console to control it onto Windows XP?
Currently there is no UI for IIS Express. You can install WebMatrix from following link which provides some basic IIS Express mangement functionality.
http://www.microsoft.com/web/
OR
You can also use IIS Express from command line. Below link provides info about how to start use IIS Express from command line.
http://learn.iis.net/page.aspx/870/running-iis-express-from-the-command-line/
IIS 7.5 Express can be controlled via integration with VS2010 SP1, WebMatrix and the command line.
From the IIS 7.5 readme
You will most likely need an
Integrated Development Environment to
build web applications over IIS 7.5
Express. Microsoft WebMatrix provides
a simple and integrated user
experience for building both ASP.NET
and PHP websites using IIS 7.5
Express. You can use IIS 7.5 Express
with Visual Studio 2010 SP1 Beta to
build and test web applications
instead of the built-in ASP.NET
Development Web Server (also known as
Cassini). It is also possible to run
IIS 7.5 Express using the command
line.
I'd also check out the great blog post from Scott Guthrie
I installed IIS7 beta 3 through Web Platfrom Installer, when I try to connect to it from Internet Information Services (IIS) 7 Manager, I get the following error message:
could not load file or assembly microsoft.web.administration...
Edit: I am running XP SP3 and I do not have IIS 5.
From your question it appears that you are looking for ways to configure IIS Express. As Kat implies, IIS Express doesn't ship IIS Manager like tool (unfortunately).
One way to configure IIS Express short of editing configuration file directly is to use command line tool appcmd.exe that can be found in installation directory of IIS Express.(http://stackoverflow.com/questions/4690358/iisexpress-user-interface)
According to their official documentation on this it can be installed on XP SP3
Q: What OS and SKUs are supported?
A: IIS Express is supported on the
following operating systems: Windows
XP SP3+ Windows Vista SP1+ Windows 7
Windows Server 2008 Windows Server
2008 R2 Windows Server 2003 SP2+
If you try connecting to your IIS Express instance using IIS Remote Manager or "proper" IIS, then it is not supported.
In addition to this, remote access to IIS Express is not enabled by default. Refer to this blog post to enable remote access to IIS Express/WebMatrix.
I am pondering using the Web Platform Installer to quickly set up a dev environment in Windows XP.
Will the IIS installed by the Web Platform Installer still have the 40 connection limit applied?
As far as I know, Web Platform Installer doesn't include IIS. It just asks for your OS installation media and installs IIS from that. However, you might get some benefit from IIS Express.
I'm using IIS 5.1 in Windows XP on my development computer. I'm going to set up HTTPS on my company's web server, but I want to try doing it locally before doing it on a production system.
But when I go into the Directory Security tab of my web site's configuration section, the "Secure communication" groupbox is disabled. Is there something I need to do to make this groupbox enabled?
That is because IIS 5.1 under the limited Windows XP version is limited to only HTTP. You need to have a full version of IIS 6.0 on Windows 2003 to do this. Luckily you can download a VHD image of Windows 2003 from Microsoft and run it under a Virtual PC instance. Plus I would recommend this since you are trying to be careful and use a machine close to your production environment. IIS 5.1 version is never deployed as a production machine so you cannot guarantee anything and the differences between IIS 5.1 and IIS 6.0 are significant enough where the VM is worth your while.
You may need to manually create a certificate first (on WinXP there does not seem to be a built-in mechanism, so you need to use OpenSSL). Check out these two links:
Enabling SSL in IIS on Windows XP Professional
Enabling SSL (HTTPS) for IIS in Windows XP