Re: The process cannot access the file...

From: David Wang [Msft] (someone_at_online.microsoft.com)
Date: 02/03/04


Date: Mon, 2 Feb 2004 18:10:02 -0800

This is by-design behavior.

On IIS5, it's called SocketPooling, and there's a registry key to turn off
the behavior.

On IIS6, you have to use HTTPCFG to configure the IPs that HTTP.SYS listens
to.

-- 
//David
IIS
This posting is provided "AS IS" with no warranties, and confers no rights.
//
"Dan Szepesi" <dszepesi@hotmail.com> wrote in message
news:uET9Q7d6DHA.2732@TK2MSFTNGP09.phx.gbl...
Just as an FYI:
I confirmed this via testing, I wrote a simple C# app that starts a tcp
listener on port 80 on an IP that was not bound to IIS.  With this app
running, IIS 6.0 could not start ANY of the web sites and gave the 'cannot
access the file' error, even for a web site that was specifically bound to a
different IP!!
Once I stopped my app, schwing --- the sites started right up.
I had no idea that IIS 6 did this - and note (from an earlier post in the
same newsgroup) that IIS 5.0 does the same thing.
"[Tony Devere]" <tdevere@online.microsoft.com> wrote in message
news:zRyyJvV6DHA.3496@cpmsftngxa07.phx.gbl...
> AS IS - this is not a finished KB:
>
> SYMPTOMS
> ========
>
> When you launch IIS 6.0 on a .NET Server machine, IIS  binds to all IP
> addresses on the  server, not just the IP addresses that are assigned to
> Web sites. If you then attempt to launch an additional application that
> makes use of port 80 it will fail.
>
> If an application is already using port 80 on any IP address and you then
> attempt to start a website on port 80 on a separate IP address  you will
> receive the following error message:
>
> "The process cannot access the file because it is being used by another
> process."
>
>
> CAUSE
> =====
>
> When IIS 6.0 is started and a website is enabled on port 80, http.sys
binds
> to port 80 on all IP addresses  of the machine - represented by
0.0.0.0:80.
> Once this has happened no additional processes  can bind to port 80 on any
> IP address.
>
>
> RESOLUTION
> ==========
>
> The current workaround is to use httpcfg.exe to manually instruct IIS6 to
> bind to only one particular IP instead of binding to 0.0.0.0:80. This can
> be done with the httpcfg.exe utility which ships with the Windows.NET
> Server Support Tools. The steps are as follows:
>
> 1. Install the Windows.NET Server Support Tools
>
> 2. Open a command prompt and navigate to the directory with httpcfg.exe
> 3. Configure http.sys to STOP listening to all IPs:  httpcfg delete
> iplisten -i 0.0.0.0
>
> 4. Configure http.sys to listen to ONLY the specified IP:
> httpcfg set iplisten -i <ip address>
>
> 6. Stop the HTTP driver:
> net stop http
>
> 7. Stop the other service/process attempting to bind to port 80
> 8. Restart HTTP and any web services: net start "World Wide Web Publishing
> Service"
>
> 9. Restart the service/process that also wants to bind to port 80
>
>
>
> Thank you,
>
> Tony DeVere [MSFT]
> Microsoft IIS
> Newsgroup Support
> tdevere@online.microsoft.com
>
> "Please do not send email directly to this alias. This is our online
> account name for newsgroup participation only."
>
> This posting is provided "AS IS" with no warranties, and confers no
rights.
> You assume all risk for your use. © 2001 Microsoft Corporation. All rights
> reserved.
>


Relevant Pages

  • RE: The process cannot access the file...
    ... When you launch IIS 6.0 on a .NET Server machine, ... If an application is already using port 80 on any IP address and you then ... Once this has happened no additional processes can bind to port 80 on any ...
    (microsoft.public.inetserver.iis)
  • RE: IIS 6 does not start
    ... When you launch IIS 6.0 on a .NET Server machine, ... If an application is already using port 80 on any IP address and you then ... Once this has happened no additional processes can bind to port 80 on any ...
    (microsoft.public.inetserver.iis)
  • RE: Port 443 Bindings in IIS 6.0
    ... IIS won't bind to 443 unless you have a cert installed and configured to ... bind to that port. ... Microsoft IIS ... This posting is provided "AS IS" with no warranties, and confers no rights. ...
    (microsoft.public.inetserver.iis)
  • Re: WebProxy failed to bind to external address
    ... Phillip Windell www.wandtv.com "Jonas Samuelsson" wrote in message ... > I run both ISA and IIS on the same machine. ... I get an warning> in the event log that the WebProxy failed to bind to port 80 on the> _exernal_ NIC. ...
    (microsoft.public.isa)
  • Re: External Sharepoint is Easy - Cant afford additional IP - WORKAROUND?
    ... port; each web site must have it's own port. ... common misunderstanding about the architecture of IIS. ... IIS has can have multiple web sites and creates the "Default Website" ... The license Issue: We did not pay 2K for a connector. ...
    (microsoft.public.sharepoint.windowsservices)

Loading