When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles
Message Board
Related Web Technologies
User Tips!
Coding Tips

Sample Chapters
Commonly Asked Message Board Questions
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Stump the SQL Guru!
XML Info
Author an Article
ASP ASP.NET ASP FAQs Message Board Feedback

The 4 Guys Present: ASPFAQs.com

Jump to a FAQ
Enter FAQ #:
..or see our 10 Most Viewed FAQs.

4GuysFromRolla.com : ASP FAQS : System.IO Namespace Classes


Why do I get an error message, "Access to the path is denied?"

[Print this FAQ]

Answer: From an ASP.NET Web page you can create, open, modify, and delete files from the Web server's file system. When an ASP.NET Web page attempts to access the Web server's file system, the Web server first authenticates the request. That is, it first determines who is making the request in order to determine if that user has the proper permissions. The ASP.NET engine can identify itself in one of two ways:

1. As a user account named ASPNET (the default), or
2. As some other existing, specified user account

Which method the ASP.NET engine uses depends on the <identity> setting in the machine.config or Web.config files. By default, this setting is specified as:

<identity impersonate="false" />

With this default setting, the ASP.NET engine will identify itself using the user account ASPNET.

The <identity> setting can specify that impersonation should be used by setting the impersonate attribute to true. With impersonate set to true, optional userName and password attributes can also be specified, to identify the user account that the ASP.NET engine should use when accessing the file system. (If these attributes are omitted, the default IIS anonymous user account, IUSR_machinename, is used.) An example of the <identity> setting using impersonation can be seen below:

<identity impersonate="true" userName="Scott" password="myPassword"/>

With such an <identity> setting the ASP.NET Web application would access the file system using as the user Scott.

Realize that regardless of whether impersonation is used or not, when accessing the Web server's file system from an ASP.NET Web page, it is accessed as some user account, be it the default ASPNET account or some other specified user account. In either case, the user account being used might not have adequate permissions to access the file system in the desired manner.

For example, imagine that in an ASP.NET Web page we use the File.Delete() method to delete the file C:\MyFiles\SomeFile.xml. If the user account specified, say ASPNET for this example, does not have Modify permissions for the file, then this file cannot be deleted and an error message will be displayed in the browser. Specifically, the error message is: "Access to path file path is denied."

If you are experiencing these error messages you need to assign the proper permissions to the proper directory and/or files. To accomplish this, you will need to be able to log onto the Web server. Via My Computer, locate the directory or files whose permissions you need to edit. Right-click on these directories or files and choose Properties; next, select the Security tab and add the proper user account (ASPNET if you are not using impersonation) and grant the account the needed permissions. Once you do this and click OK to close the Properties dialog box, all should work as expected.

FAQ posted by Scott Mitchell at 9/3/2003 12:22:43 AM to the System.IO Namespace Classes category. This FAQ has been viewed 65,271 times.

Do you have a FAQ you'd like to suggest? Suggestions? Comments? If so, send it in! Also, if you'd like to be a FAQ Admin (creating/editing FAQs), let me know! If you are looking for other FAQs, be sure to check out the 4Guys FAQ and Commonly Asked Messageboard Questions!

Most Viewed FAQs:

1.) How can I format numbers and date/times using ASP.NET? For example, I want to format a number as a currency. (761643 views)
2.) I am using Access and getting a 80004005 error (or a [Microsoft][ODBC Microsoft Access Driver] The Microsoft Jet database engine cannot open the file '(unknown)' error) when trying to open a connection! How can I fix this problem? (207777 views)
3.) How can I convert a Recordset into an array? Also, how can I convert an array into a Recordset? (202549 views)
4.) How can I quickly sort a VBScript array? (196039 views)
5.) How can I find out if a record already exists in a database? If it doesn't, I want to add it. (156019 views)
6.) How do I display data on a web page using arrays instead of Do...While...MoveNext...???... (152331 views)
7.) When I get a list of all files in a directory via the FileSystemObject, they aren't ordered in any reasonable way. How can I sort the files by name? Or by size? Or by date created? Or... (140381 views)
8.) For session variables to work, must the Web visitor have cookies enabled? (110162 views)
9.) Can I send emails without using CDONTS? (107083 views)
10.) How can I take the result of a SELECT...MULTIPLE or a group of same-named checkboxes and turn it into a query? That is, if the user selects 3 answers, how can I construct a query that looks for all 3? (106308 views)
Last computed at 9/17/2007 3:22:00 AM

ASP.NET [1.x] [2.0] | ASPFAQs.com | Advertise | Feedback | Author an Article