简体   繁体   中英

Deleting file from static method error: Access to the path … is denied

My host swears the ASPNet account has full access to the folder some photos reside in. I'm trying to delete a photo, here's the C#:

public static bool Delete(string pathAndFilename)
{
    var path = HttpContext.Current.Server.MapPath(pathAndFilename);
    File.Delete(path);
}

(in the full code, there's a try catch in there, and bool return values)

Update: this is happening on local development box too now. Here's what I have been able to try.

I put the current user into the ViewBag, and show it on the page.

ViewBag.Account = HttpContext.User.Identity.Name;

On the dev box, it shows my currently logged in user account, which has full control of every file and folder in the project.

I checked open files, the photo I'm trying to delete wasn't open.

Will try to capture more detailed exceptions. Thanks for the ideas so far!

IUSR? That should be the NETWORK SERVICE or the ASPNET account (depending on the version of IIS)

edit: also there is no reason to give IUSR full access. It only needs read access.

If you use a fully-qualified path ("C:\\foo") or if the string isn't recognizable as a path, it'll throw an HttpException.

It would be helpful if you described exactly what you're seeing.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM