Wcf iis express文件访问权限
我正在运行托管在iis express 7.5上的wcf服务。 在服务内部,我有一个需要在文件系统上写入文件的服务操作,但是当它尝试这样做时,我得到了一个异常 我正在使用以下方法将文件写入项目所在的文件夹中: 字符串filePath=HttpContext.Current.Server.MapPath(“.”) 但我一直得到这样一个例外: DirectoryNotFoundException-“找不到路径C:\websites…的一部分。” 似乎我的iis express没有写入文件的权限。 如果是,我如何给予许可Wcf iis express文件访问权限,wcf,iis-express,Wcf,Iis Express,我正在运行托管在iis express 7.5上的wcf服务。 在服务内部,我有一个需要在文件系统上写入文件的服务操作,但是当它尝试这样做时,我得到了一个异常 我正在使用以下方法将文件写入项目所在的文件夹中: 字符串filePath=HttpContext.Current.Server.MapPath(“.”) 但我一直得到这样一个例外: DirectoryNotFoundException-“找不到路径C:\websites…的一部分。” 似乎我的iis express没有写入文件的权限。 如
谢谢!您需要将网络服务帐户的写入权限授予您尝试写入的文件夹。此外,MapPath方法还获取虚拟目录根目录的相对url:
var path = HttpContext.Current.Server.MapPath("~/");
感谢您的快速回复!我要说的是,我试图创建的文件应该创建在一个仍然不存在的文件夹中,因此我使用FileStream fs=file.Open(filePath,FileMode.create);我将所有权限授予了网络服务,并将其添加到我的c:\文件夹中,但仍然得到相同的异常:找不到路径“C:\websites\myproject\project.Web\newfolder\21Icon.jpg”的一部分。“当我尝试写入文件时,即使具有对文件夹的网络服务写入权限,我也会遇到访问被拒绝的错误:/谢谢!当我先创建目录,然后才创建文件时,问题就解决了。我认为File.Open应该一起做这一切,但我确实错了。