【问题标题】:Access to the path C:\ is denied in rest service在休息服务中访问路径 C:\ 被拒绝
【发布时间】:2016-07-19 19:28:31
【问题描述】:

我已经开发了一种安静的服务,它以 json 格式从共享点站点获取数据并在驱动器 C:\inetpub\ProductSelector 中创建 FormatedProductDetail.json 文件

下面是在c盘创建json文件的代码

string Jsondata = serialize.Serialize(serviceResponse);
using (WebClient myWebClient = new WebClient())
{    
    myWebClient.UploadString(ConfigurationManager.AppSettings["outputFilePath"], Jsondata);   
}

下面是 web.config 中的代码

<appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true"/>
    <add key="inputFilePath" value="~/products.json"/>
    <!--<add key="outputFilePath" value="C:\FormatedProductDetail.txt"/>-->
    <add key="outputFilePath" value="C:\inetpub\ProductSelector\FormatedProductDetail.json"/>
</appSettings>

我只能访问 C:\inetpub\ProductSelector 而不是 c:\ 但我仍然从邮递员那里收到错误

访问路径 'C:\inetpub\ProductSelector\FormatedProductDetail.json' 被拒绝。

【问题讨论】:

  • 谁有权访问?您还是运行您的应用程序的用户?
  • 您的应用程序是否有权写入该文件夹?您必须确保运行您的应用程序池的用户和您的应用程序有权访问该文件夹。
  • 我有访问权限。当我也尝试通过 Postman 的浏览器运行时,我收到错误消息“拒绝访问路径 'C:\inetpub\ProductSelector\FormatedProductDetail.json'。

标签: c# asp.net web-services wcf rest


【解决方案1】:

IIS 应用程序池用户帐户需要访问文件夹

【讨论】:

  • 格伦·托马斯你能告诉我怎么做吗?
  • 您使用什么版本的 IIS 来托管应用程序?
  • 版本 8.5.9600.16384
  • 使用this guide 查找网站正在使用的应用程序池,然后查看该池使用的Windows 用户帐户。然后为该用户帐户授予文件夹的安全权限,或将应用程序池用户帐户更改为另一个(可能是您自己的)
  • Glen Thomas,您的解决方案帮助我解决了这个问题。你太棒了..谢谢你
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-02
  • 2010-11-29
  • 1970-01-01
  • 2016-11-11
相关资源
最近更新 更多