我在网上搜索过,似乎找不到我问题的答案。我还彻底搜索了堆叠溢出,这可能有助于我提出一个更好的问题。
我用C#中的webservices开发了一个应用程序,它运行在Silverlight中。我的问题是,应用程序必须创建一个具有相对路径的目录。在本地,它可以工作,但是当我将它上传到Microsoft时,它不会创建一个目录。
它说:不允许文件操作。访问路径:C:/inetpub/wwwroot/.‘被拒绝了。
我使用这一行代码来创建: Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath("TEMP/");
在运行应用程序的地图上,我已将所有权限授予公共和IIS用户。但它还是给出了同样的错误。除此之外,我还在.Net中编写了一小部分独立代码来创建目录。这是为了测试访问,这是可行的。
所以我真不知道该去哪找。
@更新- 22/05/2014 - 14:29
我确实删除了所有的代码,只保留了一个创建目录函数,只有一个按钮和一个事件处理程序: Directory.CreateDirectory("path");
我注意到相对路径在银光中不起作用。(他似乎认为浏览器(即Chrome)是父程序,而不是应用程序的路径)。
其他一些发现是,如果我把绝对路径。在本地它可以工作,但是当我把它上传到服务器时,它又说是拒绝.
任何提示都是非常欢迎的!
发布于 2014-06-24 07:32:11
我已经找到了解决这个问题的办法!
以下是出了问题:我的silverlight应用程序由两部分组成。Web服务和客户端;
这方面的问题是,DefaultAppPool用户不能很容易地获得权限。如果您试图在地图设置中以默认方式授予权限,则无法找到DefaultAppPool用户。
授予DefaultAppPool完全权限的正确方法是转到命令控制台并键入:
icacls c:\“映射路径”“/grant”IIS\DefaultAppPool“:(F)
有关此问题的更多详细信息,请参阅以下链接:http://eufuckingreka.wordpress.com/2013/02/12/granting-defaultapppool-permissions-to-a-direction-on-windows-server-2008/
https://stackoverflow.com/questions/23783418
复制相似问题