拒绝访问-在Microsoft服务器中使用Silverlight生成目录
本文关键字:Silverlight Microsoft 服务器 拒绝访问 | 更新日期: 2023-09-27 18:04:37
我搜索了互联网,似乎找不到我问题的答案。我还彻底搜索了stackoverflow,这可能有助于我提出更好的问题。
我在c#中使用webservices做了一个应用程序,它在Silverlight中运行。我的问题是,应用程序必须创建一个具有相对路径的目录。它在本地工作,但当我将其上传到微软服务器时,它不会创建目录。
内容如下:文件操作不允许。访问路径:'c:/inetpub/wwwroot/…被拒绝了。
我用这行代码来创建: Directory.CreateDirectory (System.Web.HttpContext.Current.Server.MapPath("临时/");
在应用程序运行的地图上,我已授予公共和IIS用户的所有权限。但误差还是一样的。除此之外,我还在。net中编写了一小段独立代码来创建目录。这是为了测试访问,这是有效的。
所以我真的不知道去哪里找。
@Update - 22/05/2014 - 14:29
我已经从字面上删除了所有的代码,只是保留了一个创建目录函数与一个按钮和一个事件处理程序: Directory.CreateDirectory("路径");
我注意到相对路径在Silverlight中不起作用。(他似乎认为浏览器的路径(即。(Chrome)作为父目录而不是应用程序的路径)。
其他一些发现是,如果我放入绝对路径。它在本地工作,但当我将其上传到服务器时,它再次表示拒绝访问…
任何提示都是非常欢迎的!
我已经找到解决问题的方法了!
下面是错误的:我的silverlight应用程序由两部分组成。web服务和客户端;
- web服务以用户IUSR的身份执行,该用户在服务器上拥有全部权限。
- 客户端以用户的身份执行:DefaultAppPool
这样做的问题是,DefaultAppPool用户不能轻易地获得权限。如果尝试以默认方式赋予权限,则在映射设置中找不到DefaultAppPool用户。
给DefaultAppPool完全权限的正确方法是进入命令控制台并输入:
icacls c:'"Path to the map"/grant " IIS APPPOOL'DefaultAppPool ":(F)
有关此的更多详细信息,请查看以下链接:http://eufuckingreka.wordpress.com/2013/02/12/granting-defaultapppool-permissions-to-a-direction-on-windows-server-2008/