我搜索了互联网,似乎找不到我的问题的答案。我还通过stackoverflow进行了彻底搜索,这可能有助于我提出一个更好的问题。
我在C#中使用Web服务创建了一个应用程序,它在Silverlight中运行。 我的问题是应用程序必须创建一个具有相对路径的目录。本地它可以工作,但当我上传到Microsoft Server时,它不会创建一个目录。
它说: 不允许文件操作。访问路径:' c:/ inetpub / wwwroot /... 39;被拒绝。
我使用这行代码进行创建: Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath(" TEMP /&#34);
在运行应用程序的地图上,我已授予public和IIS用户的所有权限。但它仍然给出了同样的错误。除此之外,我还在.Net中编写了一小段独立代码来创建目录。这是为了测试访问权限并且有效。
所以我真的不知道在哪里看。
我已经删除了所有代码,只保留了一个按钮和一个事件处理程序的创建目录函数: Directory.CreateDirectory("路径&#34);
我注意到相对路径在Silverlight中不起作用。 (他似乎认为浏览器(即Chrome)作为父母而不是应用程序的路径)。
其他一些发现是,如果我放入绝对路径。在本地它可以工作,但当我上传到服务器时,它再次说访问被拒绝...
非常欢迎任何提示!
答案 0 :(得分:0)
我找到了问题的解决方案!
以下是错误的: 我的silverlight应用程序由两部分组成。 Web服务和客户端;
问题在于,无法轻易地为DefaultAppPool用户授予权限。如果尝试以默认方式授予权限,则在地图设置中,无法找到DefaultAppPool用户。
授予DefaultAppPool完全权限的正确方法是转到命令控制台并键入:
icacls c:\“地图路径”/ grant“IIS APPPOOL \ DefaultAppPool”:( F)
有关此内容的更多详细信息,请查看以下链接: http://eufuckingreka.wordpress.com/2013/02/12/granting-defaultapppool-permissions-to-a-direction-on-windows-server-2008/