Server Application Unavailable

B

Bolwerk

Hello

I got a client who uses what appears to be ASP.NET 2.0. I come from a
UNIX/PHP/Apache background, and I'm not too familiar with ASP.NET. He
had some permissions problem a few weeks ago that I managed to fix.
Now, he's getting this error (similar to the one a few weeks ago):

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 cause 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.

I'd actually likely be able to figure this out on my own if the
administrator note were correct, but I can't find anything in the event
log about the issue either. Trying to run the application over and over
produces no record of a problem in the event log.

The configuration is Windows 2000, with .NET 2.0 the default ASP.NET
runtime environment. He uses IIS (I'm guessing version 5, but I'm not
even sure where to look).

There were some application events earlier today:

aspnet_wp.exe could not be launched because the username and/or
password supplied in the processModel section of the config file
are invalid.

I see nothing about username/password in the processModel Section of
that file, which appears to be:

C:\WINNT\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config

The process model tag seems to concist of:

<processModel autoConfig="true"/>

Another event:

aspnet_wp.exe could not be started. The error code for the
failure is 80004005. This error can be caused when the worker
process account has insufficient rights to read the .NET
Framework files. Please ensure that the .NET Framework is
correctly installed and that the ACLs on the installation
directory allow access to the configured account.

I also changed the ASP.NET state service to run on a local system
account instead of some ASPNET account. I'm not even sure what the hell
the ASP.NET state service does, so maybe I shouldn't even have monkeyed
with it.

I'm noticing that a few versions of ASP.NET appear to be installed
concurrently. 1.0, 1.1, and 2.0 as far as I can tell.

Any suggestions about to fix this would be greatly appreciated, or even
URLs in the right direction.

Thank you!
 
J

Jesse Houwing

Hello Bolwerk,
Hello

I got a client who uses what appears to be ASP.NET 2.0. I come from a
UNIX/PHP/Apache background, and I'm not too familiar with ASP.NET. He
had some permissions problem a few weeks ago that I managed to fix.
Now, he's getting this error (similar to the one a few weeks ago):

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 cause 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.
I'd actually likely be able to figure this out on my own if the
administrator note were correct, but I can't find anything in the
event log about the issue either. Trying to run the application over
and over produces no record of a problem in the event log.

The configuration is Windows 2000, with .NET 2.0 the default ASP.NET
runtime environment. He uses IIS (I'm guessing version 5, but I'm not
even sure where to look).

There were some application events earlier today:

aspnet_wp.exe could not be launched because the username and/or
password supplied in the processModel section of the config file
are invalid.
I see nothing about username/password in the processModel Section of
that file, which appears to be:


C:\WINNT\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config

The process model tag seems to concist of:

<processModel autoConfig="true"/>

Another event:

aspnet_wp.exe could not be started. The error code for the
failure is 80004005. This error can be caused when the worker
process account has insufficient rights to read the .NET
Framework files. Please ensure that the .NET Framework is
correctly installed and that the ACLs on the installation
directory allow access to the configured account.
I also changed the ASP.NET state service to run on a local system
account instead of some ASPNET account. I'm not even sure what the
hell the ASP.NET state service does, so maybe I shouldn't even have
monkeyed with it.

I'm noticing that a few versions of ASP.NET appear to be installed
concurrently. 1.0, 1.1, and 2.0 as far as I can tell.

Any suggestions about to fix this would be greatly appreciated, or
even URLs in the right direction.

Thank you!

Look at the user that is configured in the application pool. You can find
the application pool in the properties of the website and/or virtual directory
that contains the site you're trying to get to run. Then in the Applications
tree look at the properties of that specific Application Pool. One of the
settings is the username to run it under. That user must have permissions
on quite a few folders to get things to work.

1) Read/Execute on the framework directory (c:\windows\Microsoft.NET\%Version%)
2) Read/write rights in the ASP.NET Temporary Files under the framework directory
3) Read/write rights in the system temp directory (default under c:\windows\temp)
4) Read/Exeute permissions on the folder containing the website
5) maybe even more, but this is all I can think of for now...

Jesse
 
B

Bolwerk

Jesse said:
Hello Bolwerk,


Look at the user that is configured in the application pool. You can
find the application pool in the properties of the website and/or
virtual directory that contains the site you're trying to get to run.
Then in the Applications tree look at the properties of that specific
Application Pool. One of the settings is the username to run it under.
That user must have permissions on quite a few folders to get things to
work.

1) Read/Execute on the framework directory
(c:\windows\Microsoft.NET\%Version%)
2) Read/write rights in the ASP.NET Temporary Files under the framework
directory
3) Read/write rights in the system temp directory (default under
c:\windows\temp)
4) Read/Exeute permissions on the folder containing the website
5) maybe even more, but this is all I can think of for now...

Jesse

Hey, thanks for the response, but I don't see anything about an
application pool. Is that an IIS 6.x feature? I think I have IIS 5
here. :|
 
J

Juan T. Llibre

re:
!> 5) maybe even more, but this is all I can think of for now...

Here's the complete list of ACL permissions needed for ASP.NET 2.0:

http://msdn2.microsoft.com/en-us/library/kwzs111e(vs.80).aspx

re:
!> I don't see anything about an application pool. Is that an IIS 6.x feature?

Yes, it is.

The requisite instructions for an IIS 6.o application are at :
http://msdn2.microsoft.com/en-us/library/ms998297.aspx

re:
!> I think I have IIS 5 here.

Indeed, you do, since you're running Windows 2000.

You have all you need to know, for ASP.NET 2.0 on W2K ( IIS 5.0 ), at :
http://msdn2.microsoft.com/en-us/library/kwzs111e(vs.80).aspx
 
J

Jay

Hey, thanks for the response, but I don't see anything about an
application pool. Is that an IIS 6.x feature? I think I have IIS 5
here. :|- Hide quoted text -

- Show quoted text -

State service most likely is not necessary.

Check the ASPNET account in the operating system security and make
sure the account is not disabled.

If the .net app is using impersonation, look at what user it is mapped
to in the app's web.config file, and then check that in the os
security as well and make sure that isn't disabled too. A lot of our
customers do the latter and don't realize that their 'user password
expire every X days' actually bombs the web app after X days pass and
the account disables.
 
B

Bolwerk

Juan said:
re:
!> 5) maybe even more, but this is all I can think of for now...

Here's the complete list of ACL permissions needed for ASP.NET 2.0:

http://msdn2.microsoft.com/en-us/library/kwzs111e(vs.80).aspx

re:
!> I don't see anything about an application pool. Is that an IIS 6.x feature?

Yes, it is.

The requisite instructions for an IIS 6.o application are at :
http://msdn2.microsoft.com/en-us/library/ms998297.aspx

re:
!> I think I have IIS 5 here.

Indeed, you do, since you're running Windows 2000.

You have all you need to know, for ASP.NET 2.0 on W2K ( IIS 5.0 ), at :
http://msdn2.microsoft.com/en-us/library/kwzs111e(vs.80).aspx

Thank you.

Sadly, I don't think that was the problem either. I'm getting more
stumped. I think I can eliminate permission problems (they seem too
liberal, actually).

I looked over
http://msdn2.microsoft.com/en-us/library/kwzs111e(vs.80).aspx and
compared to my configuration don't really see any problems.

I take it this "application pool" problem is irrelevant to my situation,
since I have IIS 5.x, not 6.x.
 
B

Bolwerk

First, thanks again for the help. I must seem like a complete newb
today. :-D
State service most likely is not necessary.

Okay, I disabled it again. It was disabled before.
Check the ASPNET account in the operating system security and make
sure the account is not disabled.

That seemed to check out. The password was set to never expire, and not
be user-changeable.
If the .net app is using impersonation, look at what user it is mapped
to in the app's web.config file, and then check that in the os
security as well and make sure that isn't disabled too. A lot of our
customers do the latter and don't realize that their 'user password
expire every X days' actually bombs the web app after X days pass and
the account disables.

I'm not clear what impersonation is.

I can tell you the web.config file in the ASP.NET tab in the web server
points to C:\Inetpub\[www directory]\web.config as the "file location"
(I'm guessing for the server config). The file didn't exist, although a
file called "Web.config TEST" did. I cut and pasted this file as
web.config and tried the application again. No luck. :|

In the web config file under the framework in the WINNT directory, I have:

<authorization>
<allow users="*" />
</authorization>

Still get the same error though:

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 cause 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.

Like I said before, doesn't appear to be a permission problem. Also
appears I have IIS 5.0, so it's not a application pool problem (from my
understanding of how IIS is configured).
 
J

Jay

First, thanks again for the help. I must seem like a complete newb
today. :-D
State service most likely is not necessary.

Okay, I disabled it again. It was disabled before.
Check the ASPNET account in the operating system security and make
sure the account is not disabled.

That seemed to check out. The password was set to never expire, and not
be user-changeable.
If the .net app is using impersonation, look at what user it is mapped
to in the app's web.config file, and then check that in the os
security as well and make sure that isn't disabled too. A lot of our
customers do the latter and don't realize that their 'user password
expire every X days' actually bombs the web app after X days pass and
the account disables.

I'm not clear what impersonation is.

I can tell you the web.config file in the ASP.NET tab in the web server
points to C:\Inetpub\[www directory]\web.config as the "file location"
(I'm guessing for the server config). The file didn't exist, although a
file called "Web.config TEST" did. I cut and pasted this file as
web.config and tried the application again. No luck. :|

In the web config file under the framework in the WINNT directory, I have:

<authorization>
<allow users="*" />
</authorization>

Still get the same error though:

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 cause 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.

Like I said before, doesn't appear to be a permission problem. Also
appears I have IIS 5.0, so it's not a application pool problem (from my
understanding of how IIS is configured).

What Framework are you using?

I know sometimes this works C:\WINDOWS\Microsoft.NET\Framework
\CorrectVersionHere\aspnet_regiis -i

This is pretty harmless to run and it refreshes IIS mappings/
permissions that may have been mucked with. Make sure you go through
the correct version subdirectory though...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,059
Latest member
cryptoseoagencies

Latest Threads

Top