Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 也可以编写.json文件-.NETMVC_C#_Ajax_Asp.net Mvc_Json_Iis - Fatal编程技术网

C# 也可以编写.json文件-.NETMVC

C# 也可以编写.json文件-.NETMVC,c#,ajax,asp.net-mvc,json,iis,C#,Ajax,Asp.net Mvc,Json,Iis,我听到了错误的说法 异常详细信息:System.UnauthorizedAccessException:访问 路径“E:\web\aawebapp\Content\events\events.json”被拒绝 ASP.NET无权访问请求的资源。考虑 向ASP.NET请求授予对资源的访问权限 身份ASP.NET通常具有基本进程标识 {MACHINE}\ASPNET(位于IIS 5上)或IIS 6和IIS 7上的网络服务,以及 在以下情况下使用的IIS 7.5上配置的应用程序池标识: 应用程序没有模

我听到了错误的说法

异常详细信息:System.UnauthorizedAccessException:访问 路径“E:\web\aawebapp\Content\events\events.json”被拒绝

ASP.NET无权访问请求的资源。考虑 向ASP.NET请求授予对资源的访问权限 身份ASP.NET通常具有基本进程标识 {MACHINE}\ASPNET(位于IIS 5上)或IIS 6和IIS 7上的网络服务,以及 在以下情况下使用的IIS 7.5上配置的应用程序池标识: 应用程序没有模拟。如果申请是 通过模拟,身份将为 匿名用户通常是IUSR_MACHINENAME或经过身份验证的 请求用户

要授予ASP.NET对文件的访问权限,请在文件中的文件上单击鼠标右键 在浏览器中,选择属性并选择安全选项卡。单击添加 添加适当的用户或组。突出显示ASP.NET帐户, 并选中所需访问权限的框

当我尝试执行以下操作时,这种情况发生在控制器中

string eventspathway = 
HostingEnvironment.MapPath(@"~/Content/events/events.json");

System.IO.File.WriteAllText(eventspathway, newtext);

当我在localhost/debug上运行时,这可以正常工作,但在webdeployed上不起作用,因此会抛出上面的所有错误。

这里有什么难以理解的?这个例外就是它所说的

您的web应用在IIS工作进程w3wp.exe-万维网工作进程中运行,明白吗?调用应用程序池应用程序池。该进程在一个帐户下运行。在这些凭据下运行的任何进程都无法读取或写入其缺少必备权限的路径

您或您的系统管理员需要授予应用程序池标识,在该标识下,您的应用程序正在运行足够的权限来执行它需要执行的操作。或者,您需要找到一个位置,将数据存放在您的应用程序池标识具有足够权限的位置

另一种选择-不建议用于生产系统!-将在本地系统帐户下运行应用程序池

有关详细信息,请参阅


与应用程序数据具有不同的权限吗?我能从那里读/写。我还将图像、脚本、css等存储在我的内容文件夹中,这个.json所在的位置。所以我想我不知道如何更改此特定文件的权限?您需要查看它。我很确定应用程序池标识只对web应用程序的目录具有读取权限,但app_数据除外。其他任何东西都会带来安全风险:你真的希望破解你网站的人能够……改进……你的源文件和内容吗?这是有道理的……我想这是一个离题说明,因为我找不到任何东西,有没有办法让AJAX访问我的应用程序应用程序数据?我尝试使用url:App_Data/events.json,但它返回一个HTTP错误404.8-未找到,表示出于安全目的它是隐藏的。是否有打开异常的方法?