ASP.NET IIS Application Error - asp.net

Im very new to IIS and ASP.NET.
Im only using it as a script i need uses it.
Ive installed IIS onto my W7 machine and set it all up to use ASP.
However,
When i access the script i just get an error which is the following:
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
Source Error:
Line 34: <globalization culture="en-GB" uiCulture="en-GB"/>
Line 35: <httpRuntime executionTimeout="3600" maxRequestLength="104856"/>
Line 36: <sessionState mode="InProc" cookieless="false" timeout="720"/>
Line 37: <compilation debug="true" targetFramework="4.0">
Line 38: <assemblies>
As i say im new to this and i have found a few posts around which say do this that and the other but i have no idea how to implement the fixes.
Would be great if someone could give me a step by step guide or point me in the direction of such a thing.
Cheers

As is stated in Microsoft's support knowledgebase:
To resolve this problem, remove the virtual directory in IIS. Then,
re-create the virtual directory and configure it as an application. To
remove the virtual directory, follow these steps:
Click Start, and then click Control Panel.
In Control Panel, double-click Administrative Tools, and then double-click Internet Information Services.
Note If the Administrative Tools icon is unavailable in Control Panel, click Switch to Classic View, and then double-click
Administrative Tools.
Click the name of the server that you want to configure, and then double-click Web Sites.
Double-click the name of the Web site that you want to configure.
Right-click the name of the virtual directory that you want to remove, and then click Delete.
Click Yes.
To create a new virtual directory and configure it as an application,
follow these steps:
Click to select the name of the Web site in which you want to add the new virtual directory.
On the Action menu, point to New, and then click Virtual Directory.
In the Virtual Directory Creation Wizard, click Next.
Type the name of the virtual directory that you want to create, and then click Next.
Click Browse, select the directory for the application, and then click OK.
Click Next, and then click Finish.
Note By default, a new application that has the same name as the new virtual directory is created in IIS.

Related

Detailed solution for ASP.NET Error message 401.3 "Access is denied"

I just wrote a sample code for ASP.NET Web Application, using web service. The environment is Visual Studio 2015. My operation system is Windows 8.
When doing debug, the webpage would not show the app from URLs. Rather it reports an error:
"
Server Error in '/' Application.
Access is denied.
Description: An error occurred while accessing the resources required to serve this request. You might not have permission to view the requested resources.
Error message 401.3: You do not have permission to view this directory or page using the credentials you supplied (access denied due to Access Control Lists). Ask the Web server's administrator to give you access to 'K:...\WebServicesDemo\WebServicesDemo\CalculatorWebService.asmx'.
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34248
"
What have I tried:
gave access to "IIS_IUser" but instead it should be "IUSR". That solved the problem. This comes from post: Hosting ASP.NET in IIS7 gives Access is denied?
I noticed there are some solutions offered, but none of them makes sense to me. Could anyone give me a step by step answer?
For example, I don't understand where to add IIS_IUSRS or IUSR. what are they any way? Second, it seems that neither IIS_IUSRS nor IUSR is recognized in my security folder (right click app folder, property-> security tab)
For more information, my Web.config looks like:
<?xml version="1.0"?>
<!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 -->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<httpRuntime/>
</system.web>
</configuration>
Navigate to the root of your web application : e.g. C:\Inetpub\wwwroot[Website folder name]
Right click on the file and go to "Properties > Security"
Click "Edit" and then click "Add"
Click "Advanced" in the bottom left
Click "Find Now" - this should list all the accounts available
Scroll till you find "IUSR" and select it
Click "OK"
Click "OK" again
In the block "Permissions for IUSR" click on "allow" next to "Full Control"
Click apply (wait for the dialog to close)
Click "OK"
Click "OK" again
your problem should be solved
In addition tho Chad's answer, there is a tricky setting you may have to check as well:
1) Open the Root Web Site in IIS
2) Go to Authentication --> Anonymous Authentication --> Edit
3) Make sure Anonymous user identity is set to Application pool identity
However, if you want to use a specific user account for anonymous authentication that differs from the application pool account, you will have to grant this account access to the web application folder as well.

Login page from asp.net is not accessible from Android App

I've created a LoginPage to Authenticate Android Users but I keep getting an
IIS 7.0 Detailed Error - 401.1 - Unauthorized
In the folder of that aspx page I have a web.config set up as such to allow access
<?xml version="1.0"?>
<configuration>
<location path="~/MobileApp/LoginMobile.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>
Any ideas?
A quick Google search of your error returned this solution:
As a quick and dirty fix, grant the IIS_IUSRS group Read/Execute or Modify permissions to your web folder.
To fix this properly you should grant the Application Pool Identity for your site Read/Execute or Modify permissions to your application's web folder. To do this:
Open IIS Manager, navigate to your website or application folder where the site is deployed to.
Open Advanced Settings (it's on the right hand Actions pane).
Note down the Application Pool name then close this window
Double click on the Authentication icon to open the authentication settings
Disable Windows Authentication
Right click on Anonymous Authentication and click Edit
Choose the Application pool identity radio button the click OK
Select the Application Pools node from IIS manager tree on left and select the Application Pool name you noted down in step 3
Right click and select Advanced Settings
Expand the Process Model settings and choose ApplicationPoolIdentity from the "Built-in account" drop down list then click OK.
Click OK again to save and dismiss the Application Pool advanced settings page
Open an Administrator command line (right click on the CMD icon and select "Run As Administrator". It'll be somewhere on your start menu, probably under Accessories.
Run the following command:
icacls <path_to_site> /grant "IIS APPPOOL\<app_pool_name>"(CI)(OI)(M)
For example:
icacls C:\inetpub\wwwroot\mysite\ /grant "IIS APPPOOL\DEFAULTAPPPOOL":(CI)(OI)(M)
If all is good icacls.exe will report:
processed file: c:\inetpub\wwwroot\mysite
Successfully processed 1 files; Failed processing 0 files
There was another connection being opened before making this call and was somehow interfering with it.

Server Error in '/' Application. ASP.NET

Greeting,
I developed a website using ASP.Net 3.5 and C#. It is working good with Visual Stdio 2010.
I uploaded my website to my domain under the public folder.
First time I lunched my website for testing (http://wecoders.com/Habib_cuizine/Gallery.aspx)
I would revive (Server Error in '/' Application.)
Runtime Error Description: An
application error occurred on the
server. The current custom error
settings for this application prevent
the details of the application error
from being viewed remotely (for
security reasons). It could, however,
be viewed by browsers running on the
local server machine.
Details: To enable the details of this
specific error message to be viewable
on remote machines, please create a
tag within a
"web.config" configuration file
located in the root directory of the
current web application. This
tag should then have
its "mode" attribute set to "Off".
<!-- Web.Config Configuration File -->
>
> <configuration>
> <system.web>
> <customErrors mode="Off"/>
> </system.web> </configuration>
Notes: The current error page you are
seeing can be replaced by a custom
error page by modifying the
"defaultRedirect" attribute of the
application's
configuration tag to point to a custom
error page URL.
> <!-- Web.Config Configuration File -->
>
> <configuration>
> <system.web>
> <customErrors mode="RemoteOnly"
> defaultRedirect="mycustompage.htm"/>
> </system.web> </configuration>
To fix this error I added to the webConfig file inside tag:
> <customErrors mode="Off"/>
After that when I lunch the website I would receive a new error as listed bellow:
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
Source Error:
Line 35: ASP.NET to identify an incoming user.
Line 36: -->
Line 37: <authentication mode="Windows" />
Line 38: <!--
Line 39: The section enables configuration
Source File: \10.0.40.35\wecoders.com\public\habib_cuizine\web.config Line: 37
Please advice how to fix this error and how configure my website which developed using Visual Stdio 2010 to be published in the internet.
Regards,
The key information in this error is this line:
This error can be caused by a virtual
directory not being configured as an
application in IIS.
In IIS, you can have several applications, but they must be configured as an application. Generally, when you create a web project it maps directly to an IIS application.
Check with your hosting service on how to create an IIS application for your web app.
Edit - added
If this is on your server, you can set this up yourself following the instructions in #Frazell Thomas's answer. He beat me to finding that link. To save yourself some reading, you should be able to focus in on the Creating Virtual Directories and Local Web Sites section.
right-click virtual directory (e.g. MyVirtualDirectory)
click convert to application.
Have you configured the virtual directory as an ASP.NET application for the right framework version?
See IIS Setup
Look at these two excerpts:
I uploaded my website to my domain under the public folder.
and
This error can be caused by a virtual directory not being configured as an application in IIS.
It's pretty clear to me that you did exactly what you said you did, and no more, i.e. you transfered the files to the web server, but nothing else. You need to configure that public folder as a virtual directory in IIS as the error is telling you, or it's just not going to work.
Looks like you have <authentication mode="Windows" /> in your web.config file but your hosting provider won't let you use that. Just remove that line.
I got the same problem and my solution was to remove webconfig file from the directory.. then it works..
http://www.velocityreviews.com/forums/t123353-configuration-error.html
If you want to use inetpub/wwwroot/aspnet as your application, remove this
line :
Line 26:
and any other lines which define MachineToApplication beyond application
level
If you want to use d:\inetpub\wwwroot\aspnet\begin\chapter02\ as your
application,
create an IIS Application which points to
d:\inetpub\wwwroot\aspnet\begin\chapter02\
maybe you can refer link above.
For my application, my web.config store in d:\inetpub\wwwroot\aspnet\begin\chapter02\
and when i move the web.config to d:\inetpub\wwwroot\aspnet and the problem is solve.
Please check also does your application have two web.config file.
Looks like this is a very generic message from iis.
in my case we enabled integrated security on web config but forgot to change IIS app pool identity.
Things to check -
go to event viewer on your server and check exact message.
-make sure your app pool and web config using same security(E.g Windows,integrated)
Note: this may not help every time but this might be one of the reason for above error message.
I have the same issue, my application was running on amazon vps, lately i found that bin folder had multiple copies of dll's ...
After removing those copies of dlls like entityframework(copy1).dll, errors were gone....
May be some one will get help...cheers
Removing the web.config-file from the IIS Directory Folder solves the problem.
Try removing the contents of the <compilers> tag in the web.config file. Depending on who you're hosting with, some don't allow the compiler in production.
Your application is trying to compile when it is called and their servers won't allow it.
This wont necessarily fix the problem...but it will tell you what the real problem is. Its currently trying to use a custom error page that doesn't exist.
If you add this line to Web.config (under system.web tag) it should give you the real error.
<system.web>
<!-- added line -->
<customErrors mode="Off"/>
<!-- added line -->
</system.web>
If your project is linq with Sql Database.
Then Simply Check your System Services and Start sql Server Agent Service.
Now your problem is solved.
Just check connectivity between SQL And your App (if you used SQL)

How do I solve an <authentication mode="Forms"> Server Error?

I've made an ASP.NETapplication in Visual Studio. When it was ready I did "Publish Website". I placed the created folder on my website.
When I go to the application on my site, I get the following error:
Server Error in '/' Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
Source Error:
Line 47: ASP.NET to identify an incoming user.
Line 48: -->
Line 49: <authentication mode="Forms" />
Line 50:
Line 51: <customErrors mode="Off">
Source File:
\CLST_SMB1IIS\WebfarmData$\WebData\winckelmans.net\wwwroot\bookstore\web.config
Line: 49
How do I solve this?
It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
As it says, the Virtual Directory is not being configured as an ASP.NET application.
You may have to go to your IIS admin console, go to the directory properties and select "Create Application". To do so:
Open the IIS Administration Console on the server where the application is published
Right click on the Virtual Directory where the application files are published
Select Properties, then a "Main Properties" dialog pops up.
There is a "Application Settings" section. Just hit "Create" in front of the "Application Name" textbox, then hit "Ok"
Check that the Virtual Directory appears with a different icon, it should be ok now.
My issue was with an ASP.NET Web API application that had more than one web.config (one in root and other in the Views folder). I'd mistakenly added the configuration in the sub folder and left the root folder unchanged to using "None".
Copy your folder which contains your content under wwwroot directory.
Then open IIS Manager.
Find Sites->Default Web Site->YourContentFolder
right click on it
select "convert to application"
Then it should be OK...
I had this issue when I upgraded a project containing Telerik ASP.NET UI controls. When the upgrade ran I forgot to untick the "backup" check box and a backup copy was put inside my solution. This resulted in two copies of web.config - deleted the backup folder and all was well again.
go to "Run"
"ïnetmgr"
then in the left menu default website then select your web folder ->
right click on your web folder ->and select convert to application

How to resolve "Server Error in '/' Application" error?

I am trying to deploy an asp.net application in our server while I am receiving the following error.
Server Error in '/' Application.
________________________________________
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be caused by a virtual directory not being configured as an application in IIS.
Source Error:
Line 63: ASP.NET to identify an incoming user.
Line 64: -->
Line 65: <authentication mode="Windows"/>
Line 66: <!--<forms loginUrl="~/SCR.UI/Login1.aspx"/>
Line 67: </authentication>-->
Source File: D:\BarclaysPayamentManagementSystem\scr.ui\web.config Line: 65
What is the reason and how to resolve it?
Please help
You may get this error when trying to browse an ASP.NET application.
The debug information shows that "This error can be caused by a virtual directory not being configured as an application in IIS."
However, this error occurs primarily out of two scenarios.
When you create an new web application using Visual Studio .NET, it automatically creates the virtual directory and configures it as an application. However, if you manually create the virtual directory and it is not configured as an application, then you will not be able to browse the application and may get the above error. The debug information you get as mentioned above, is applicable to this scenario.
To resolve it, right click on the virtual directory - select properties and then click on
"Create" next to the "Application" Label and the text box. It will automatically create the "application" using the virtual directory's name. Now the application can be accessed.
When you have sub-directories in your application, you can have web.config file for the sub-directory. However, there are certain properties which cannot be set in the web.config of the sub-directory such as authentication, session state (you may see that the error message shows the line number where the authentication or session state is declared in the web.config of the sub-directory). The reason is, these settings cannot be overridden at the sub-directory level unless the sub-directory is also configured as an application (as mentioned in the above point).
Mostly, we have the practice of adding web.config in the sub-directory if we want to protect access to the sub-directory files (say, the directory is admin and we wish to protect the admin pages from unauthorized users).
I had this error when the .NET version was wrong - make sure the site is configured to the one you need.
See aspnet_regiis.exe for details.
I had this error with VS 2015, in my case going to the project properties page, Web tab, and clicking on Create Virtual Directory button in Servers section solved it
It sounds like the admin has locked the "authentication" node of the web.config, which one can do in the global web.config pretty easily. Or, in a nutshell, this is working as designed.
I just had the same issue on visual studio 2012. For a internet application project.
How to resolve “Server Error in '/' Application” error?
Searching for answer I came across this post, but none of these answer help me.
Than I found another post here on stackoverflow that has the answer for resolving this issue.
Specified argument was out of the range of valid values. Parameter name: site
When you create an new web application using visual studio.net, it automatically creates the virtual directory and configures it as an application. However, if you manually create the virtual directory and it is not configured as an application, then you will not be able to browse the application and may get the above error.
I also got this error when I moved an entity framework edmx file into a "Models" sub-folder. This automatically changed the metadata in my connection string setting in my app.config.
So before the connection string changed... it looked something like this:
<connectionStrings>
<add name="MyDbEntities" connectionString="metadata=res://*/MyDb.csdl|res://*/MyDb.ssdl|res://*/MyDb.msl; ...
</connectionStrings>
And after... it added the "Models" subfolder name (btw... it also added "Models" to the namespace for the EF classes generated) and the connection string now looks something like this:
<connectionStrings>
<add name="MyDbEntities" connectionString="metadata=res://*/Models.MyDb.csdl|res://*/Models.MyDb.ssdl|res://*/Models.MyDb.msl; ...
</connectionStrings>
I have a website project that references this Entity Framework DB project. But its web.config did not have the updates to the connection string... and that's when I started getting the compilation error being discussed here.
To fix this error, I updated the connection string in the web.config in the website project to match the app.config in my EntityFramework project.
vs2017 just added in these lines to csproj.user file
<IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>enabled</IISExpressWindowsAuthentication>
<IISExpressUseClassicPipelineMode>false</IISExpressUseClassicPipelineMode>
with these lines in Web.config
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" maxRequestLength="1048576" />
<identity impersonate="false" />
<authentication mode="Windows" />
<authorization>
<allow users="yourNTusername" />
<deny users="?" />
</authorization>
And it worked
I opened the Properties window for the website project in question and changed Windows Authentication to "Enabled" and that resolved my issue in VS 2019.
The error message is quite clear: you have a configuration element in a web.config file in a subfolder of your web app that is not allowed at that level - OR you forgot to configure your web application as IIS application.
Example: you try to override application level settings like forms authentication parameters in a web.config in a subfolder of your application

Resources