Is it possible to run iis6 and iis7 in parallel? - asp.net

We have a huge amount of webApplications running on IIS6. Because we want to run an MS MVC2 or MVC3 Webapp we have to use IIS7. Migrating these huge amount of IIS6 webapps is way to time intensive for us.
is it possible to run IIS6 and IIS7 on one machine?
Thanks!

No - it isn't possible to run IIS6 and IIS7 on the same machine.
The version of IIS for a machine is dictated by the operating system and cannot be installed standalone.
For instance, Windows XP shipped with IIS5.1, Windows 2003 shipped with IIS 6.0, Windows 2008 shipped with IIS7.0 and Windows 2008 R2 shipped with IIS7.5.

You can use IIS 7 / 7.5 but just run the application pools in the "classic" pipeline mode, which is the same as running your application in IIS6.
That way you can handle legacy applications and still be free to leverage the advantages of IIS7. Here's an article on the pipeline differences.
http://learn.iis.net/page.aspx/243/aspnet-integration-with-iis-7/

If you want them all to answer on port 80 you will have to setup some type of proxy to route calls to the correct IIS. Say you let one of them (perhaps IIS) run on port 80, then you need to setup IIS7 to run on another port and intercept calls to the IIS7-app and rewrite them to use another port.
Have you tried running your existing applications in IIS7? They might work?

no it is not possible . why because, just consider an mobile app and if update came means it will replace the older one like same it will get work.
if you need to check both in the sense , just install other version in virtual machine and we can easily see the difference between both

Related

Why shouldn't I use IIS Express for ASP.Net Core development?

It seems that .net core needs to be published to run on IIS which means it's either impossible or impractical to debug through IIS, but it's fine with IIS Express. My more experienced colleagues insist that we should do all development with IIS and never IIS Express which is, in effect, saying we should not touch .Net Core.
1) How likely am I to find that the app which works on IIS Express doesn't work on IIS?
2) What's the best way to mitigate the downsides?
3) What should I tell my boss? (I really want to keep working with core)
There is no reason not to debug using IIS Express. You can verify that your deployment works on IIS by publishing to a staging environment or even a local IIS instance.
That being said, it is possible to debug IIS locally by using Attach to Process in Visual Studio if your coworkers simply refuse to use IIS Express.
Its a big difference between iis express and iis(server). on iis server you need to configure first the iis itself. register asp.net, set up .net framework,set up config file and so on..
But this would be a good practice for the developer, iis server deployment process. is a must.
Hope it helps your idea..
When working with ASP.NET Core & Visual Studio IDE, its better to use IIS Express (kestrel internally) for following reasons
Kestrel is a light weight web server built for ASP.NET Core apps. IIS Express will make use of it while development & debugging.
Hosting IIS for ASP.NET Core apps is for providing load balancing, SSL, gzip etc. So even if you host on IIS, then its fine but development experience will be less productive.
ASP.NET Core apps are cross platform so you can work on Windows, Linux & MacOS. With IIS your are limiting to Windows only
Core apps are not like traditional ASP.NET MVC 5 or Web form apps. They have being made easy for development experience.
I would suggest that think of IIS only during deploying Core apps for QA, UAT or PROD. For development need not host on IIS. Hope this helps

Windows Server 2008, IIS7 - hosting private-bower

Its been ten years since I worked with IIS. Windows Server 2008 is new to me. Now, I need to install a private-bower service on Windows Server 2008, and I'm not sure if I need IIS 7 and iisnode or if there is a better way.
Running private-bower, starts a server at http://localhost:5678/
What is the best way to expose that as a service for an internal network on Windows Server 2008?
Or in noob terms: how would I convert http:localhost:5678 to run in Win Server 2008 and IIS7?
I can install node/npm. So using node is an option, within IIS using iisnode and IIS7 (link below) but would I need to? Is there an easier way in IIS?
I'm not sure where to start to configure the :5678 port to be an external service, and how to keep it running, in a remote desktop login.
The links I've been using are:
private-bower: https://www.npmjs.com/package/private-bower
Node on IIS:
http://admin-ahead.com/blog/node-js-installation-windows-2008-r2-server/
iisnode:https://github.com/tjanczuk/iisnode
But I need some help with Window Server 2008 and IIS 7, possibly a link describing ideal service configuration. Thanks.
Found an example that is for Windows Server 2012:
The recommended way to install private-bower as a Windows Service:
https://github.com/Hacklone/private-bower/wiki/Install%20as%20a%20Windows%20service

IIS6 isn't supported by powershell and upgrades cost money. Alternatives?

As part of our .NET deployment process we'd like to make a new website on IIS. The idea is to be able to run another set of smoke tests before making a site live - plus being able to immediately roll back to a previous version should something go wrong. We hope to have this all hooked up to Jenkins.
While IIS7 has a comprehensive suite of tools that allows us to throw together and configure a new website via PowerShell, IIS6 shares no such luxury.
While upgrading to IIS7 would obviously solve our issues, our servers currently run on Windows 2003.
Is there a way to do what we want in IIS6? Are we going about the issue the wrong way?
IIS6 configuration is stored in 2 xml files, MetaBase.xml and MSSchema.xml located in %SystemRoot%\System32\Inetsrv.
Check these links about available scripts for managing IIS sites, application pools etc:
Internet Information Services (IIS) 6.0 Resource Kit Tools
Managing IIS Configurations Using Scripts (IIS 6.0)
Administering Servers from the Command Line in IIS 6.0 (IIS 6.0)
How to manage Web sites and Web virtual directories by using command-line scripts in IIS 6.0
Regarding configuration of sites like default page, .NET version etc I couldn't find any script for that on Technet. But if it is in configuration xml, I think you can create some command line tool for that.

Debug on IIS instead of WebDev server

I am developing a web application. My code worked fine on the WebDev server in VS2010. Then, I hosted it on remote IIS, because my windows 7 home basic doesn't have IIS, and almost all code fails. So I had to rewrite it using helpers for links, ResolveUrl and many other functions.
How can I host an application while debugging on remote IIS (not on WebDev or local IIS) automatically?
You can install IIS Express. IIS express is more mature in terms of emulating real IIS 7. For more information on IIS express refer this link. HTH
You might consider developing you application using MebMatrix, which is a free development environment that includes IIS Express. It's easy to learn and doesn't require Visual Studio.

Why is IIS not serving aspx pages?

I'm deploying an ASP.NET application to Windows Server 2003 under IIS
IIS is serving html pages fine but I get a page not found when I try and serve IIS pages
You may need to "register" IIS for ASP.NET applications. As an administrator, run the command "%systemroot%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -i". In addition, you may need to convert your web site to an application through the IIS management console.
By default, IIS has ASP support disabled in IIS6.
A server running a member of the Microsoft® Windows® Server 2003 family supports application server functionality, with Microsoft ASP.NET as an option that you can enable when configuring the application server role. To deploy ASP.NET Web applications to a production server, you must be sure to enable the ASP.NET and Internet Information Services (IIS) roles on the production server before you distribute the application.
See here for instructions to enable it:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/9fc367dd-5830-4ba3-a3c9-f84aa08edffa.mspx?mfr=true
Other possible reason could be Web Service Extensions, where ASP.NET version could have been disabled. My other post here explains steps to solve this.
Make sure the right .NET framework is installed properly
Make sure the ASP.NET extension is enabled
Under website properties, ASP.NET tab, make sure the right version is set.
After having this same issue and trying all of the above without any luck. We reinstalled SP2 for Windows 2003 and this resolved our issue. I too have seen this problem resolved a few times with the other answers. Most of the time just reinstalling .Net 2.0 resolves the issue but not this time.
For future reference, this could also be the issue:
IIS on a Windows Server 64-bit can only to run in either 32 or 64 bit mode.
In short you need to:
1) run adsutil.vbs to enable 32 bit asp.net apps on win 64
2) re-register IIS calling aspnet_regiis.exe
3) re-open IIS Manager, go into Web service extension list and ensure ASP.Net version {2/4.xxx} (32-bit) is set to Allowed
(You might need to do Steps 2 and 3 for both Framework 2.0 and 4.0 if you want to run asp.net apps on both versions)
Full details are in the following link: http://support.microsoft.com/kb/894435
Another future reference in case this is helpful to anyone who used a similar path to mine.
My back end for the ASP.NET app was MySql not Sql Server, which for me meant having a mysql connector, the reason my IIS was not serving the .aspx file is because on my development environment I was using a different version of the MySql connector than the one installed on my production environment, I updated the MySql connector on the production server to match the version Im using on the development environment and it worked great.

Resources