locked
Server Application Unavailable RRS feed

  • Question

  • I have a very difficult problem that needs to be solved. Remarkably, it should not be a problem for IIS! I wonder if anybody has the solution? I'm willing to bet that no members of this forum can solve it.

    I. PROBLEM

    On my Windows Home Server, IIS will only serve HTML pages, it will not serve ASPX pages.

    II. SYMPTOMS

    There are two symtoms that appear when you try to open an aspx file. In this case, the file is named default.aspx. One symptom appears when you use Internet Explorer locally (on WHS) to open the file, and the other appears when you use Internet Explorer to remotely (a Vista client on the same network) open the file.

    1. Local Symptom: When you attempt to view the default.aspx file in a browser, the File Download dialog box appears and asks "Do you want to open or save this file?". It supplies the OPen, Save, and Cancel buttons. When you click Open, the browser opens, with the word "connecting" shown on the tab, then immediately closes, and the File Download dialog box reappears.
    2. Remote Symtom: When you type in the URI for the page, 192.168.0.251/default.aspx into a browser, a page is served that contains the following message. "Server Application Unavailable. The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request. Administrator Note: An error message detailing the cuse of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur."

    III. SETTINGS

    1. Web Server: IIS v6
    2. WHS Firewall State: OFF
    3. Created an IIS Virtual Directory for the website. A) It is configured with its own IP address. B) The home directory is configured with the local path to the application root folder (.NET application root). C) The home page, "default.aspx," is enabled as the default content page. D) For Directory security, anonymous access is enabled, and the user "IUSR_SERVER" is the Windows user account set for anonymous access. E) The ASP.NET version is set to 4.0.30319. Its virtual path is set to the web site name. Its file location is set to the physical path to the application root.
    4. ASP.NET is installed as a Windows Subcomponent of Application Server.
    5. Internet Information Services (IIS) is installed as a Windows Subcomponent of Application Server.
    6. The .NET 4.0 framework is installed and tested to work.
    7. ASP .NET 4.0 is configured as a Web Service Extension in IIS Manager and set to "allowed."
    8. ASP .NET 4.0 is mapped as the Application Extension in IIS Manager for the virtual directory.
    9. These are the Properties for the folder "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files": A) For Sharing, the folder is set so it is not shared with other users on the network. B) For Security, the following groups and users are included: Administrators (hostname\Administrators), ASP.NET Machine Account (hostname\ASPNET), IIS_WPG (hostname\IIS_WPG), LOCAL SERVICE, NETWORK SERVICE, Power Users (hostname\Power Users), SYSTEM, Users (hostname\Users) C) For Web Sharing, the Internet Information Services is shared on (with) the virtual folder "Web Site" listed in IIS Manager.

    IV. TROUBLE SHOOTING ATTEMPTS (TASKS)

    TASK 1: Added an ASPNET account to the home directory and gave add, read, execute, and list permissions, but had no effect.

    TASK 2: Repaired IIS mappings for ASP.NET using Aspnet_regiis.exe, and then restarted, but hat no effect. At the command line, typed "%systemroot%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -i

    TASK 3: Properties for the folder "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files," for Web Sharing, changed the Internet Information Services sharing from the virtual folder "Default Web Site" listed in IIS Manager to the virtual folder "Test Site," but had no effect.

    TASK 4: Notice that ASP.NET needs aspnet_isapi.dll to run, so you might need to allow "scripts and executables" to run in the home directory of the web site. This allows ISAPI and CGI programs to run, but this had no effect.

    TASK 5: In accordance to http://support.microsoft.com/kb/317012/, the process identity in the <processModel> section of the Machine.config file in the Config subdirectory of the installation root directory was changed. The userName and the password attributes control the identity of the process. This was added to the section:

    <processModel userName="machine" password="AutoGenerate" />

    The machine and the AutoGenerate values instruct ASP.NET to use the built-in ASPNET account and to use a cryptographically strong, random password that is stored in the Local Security Authority (LSA) for that account.

    But this did not work, but there might be more to the change than what I did.

    NOTE: According to the IIS Manager Help Topic, "Configuring ASP.NET Applications in Worker Process Isolation Mode," that when your application (web site) is running in worker process isolation mode, any <processModel> element configuration settings that you have created in the computer-wide Machine.config file are ignored, except the following three settings: maxWorkerThreads, maxIoThreads, and ResponseDeadlockInterval.

    TASK 6: Used Folder Properties to add the ASPNET account as a user of the web site folder, but no effect.

    TASK 7: Used Folder Properties to add the IUSR_SUN account as a user of the web site folder, but no effect.

    TASK 8: In IIS Manager, set the Web Service Extension staus for Active Server Pages to Allowed, but no effect.

     

    V. ERROR LOGS

    The event produced two error logs.

    Error Log 1:

    Event Type: Error
    Event Source: ASP.NET 4.0.30319.0
    Event Category: None
    Event ID: 1325
    Date:  1/24/2011
    Time:  1:58:31 PM
    User:  N/A
    Computer: SUN
    Description:
    Failed to initialize the AppDomain:/LM/W3SVC/269198065/Root

    Exception: System.IO.FileLoadException

    Message: Could not load file or assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Access is denied.

    StackTrace:    at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)
       at System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
       at System.Activator.CreateInstance(String assemblyName, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo, StackCrawlMark& stackMark)
       at System.Activator.CreateInstance(String assemblyName, String typeName)
       at System.AppDomain.CreateInstance(String assemblyName, String typeName)
       at System.AppDomain.InternalCreateInstanceWithNoSecurity(String assemblyName, String typeName)
       at System.AppDomain.InternalCreateInstanceWithNoSecurity(String assemblyName, String typeName)
       at System.Activator.CreateInstance(AppDomain domain, String assemblyName, String typeName)
       at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)
       at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironmentAndReportErrors(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters)

     Error Log 2:

    Event Type: Error
    Event Source: ASP.NET 4.0.30319.0
    Event Category: None
    Event ID: 1088
    Date:  1/24/2011
    Time:  1:58:31 PM
    User:  N/A
    Computer: SUN
    Description:
    Failed to execute request because the App-Domain could not be created. Error: 0x80070005 Access is denied.  

    Monday, January 24, 2011 11:03 PM

All replies

  • Hi,

    I had to give the IIS_WPG group (which contains ASPNET, IWAM_MachineName, LOCAL SERVICE, NETWORK SERVICE & SYSTEM) read/write access to our web root directory & everything beneath.

    I hope this can be helpful for you.



    • Proposed as answer by Pranav23 Wednesday, November 30, 2011 2:57 PM
    Monday, April 18, 2011 9:11 AM
  • Hi Jawahar,

    I was also having the same problem and your suggestion has resolved the issue. Thanks a lot for your input.

    Thanks,

    Rathinasamy

    Monday, November 14, 2011 1:44 PM
  • Hi Jawahar,

    I had the same issue and your suggestion solved my problem.

    Thanks,

     

    Pranav Vasa

    Wednesday, November 30, 2011 2:58 PM