“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.UnauthorizedAccessException: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED)) ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪:
[UnauthorizedAccessException: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))][TargetInvocationException: 调用的目标发生了异常。]
System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[] args) +228
v9.IIShelp.IISHelper.CreateNewIIsWebServer(String webServerName, String path, Int32 port, String domain) +908
_Default.CreatSite_Click(Object sender, EventArgs e) +53
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102
--------------------------------------------------------------------------------拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.UnauthorizedAccessException: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED)) ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪:
[UnauthorizedAccessException: 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))][TargetInvocationException: 调用的目标发生了异常。]
System.DirectoryServices.DirectoryEntry.Invoke(String methodName, Object[] args) +228
v9.IIShelp.IISHelper.CreateNewIIsWebServer(String webServerName, String path, Int32 port, String domain) +908
_Default.CreatSite_Click(Object sender, EventArgs e) +53
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102
解决方案 »
- 问个PDF在线浏览问题
- SQL的Coonection的Open()延迟,断网了,Coonection还能Open(),结果插入异常。
- 想让treeview全展开后父结点不能被选择,就和一般的文字一样,怎么做?
- vs 2005 和 word 2007是否不兼容?
- 谁能帮帮我呀????从XLS文件中读入数据到datagrid中,以下的代码既没有报错也没有读出数据。怎末办呀
- 升星散分:_)顺便提一个问题...
- 关于组件开发学习方法的问题!
- Android和IOS上面的CSS样式应该如何兼容?
- 急,在线等待,高手请进来,解决马上揭贴!
- (fzymr)为什么不能新建项目,各位帮帮忙!急!!!!!
- 通过IIS访问aspx页面报http:500错误。
- templatefield可以隐藏,但如何通过单击一个事件,让他显示?
在网上也找了很多同样错误的。。不过没有看到IIS下动态创建网站出现这样错误的
也试了各种解决方案。始终没解决(也许是我没操作对。天呐。我快要疯了)
这问题困扰我一天了。。大虾们。。来帮帮我吧。。
再就是是不是忘记设置网站的默认文档了 ?
是不是文件夹权限问题?还有,前段时间重装后,项目不能访问,是因为没设local为可信网站或是本地Intranet站点。它显示的错误也是帐号没有限权的字样。
--------------------------------
用.NET调试是以登陆帐号进行访问。所以没有读写权限的问题。。
而IIS建的虚拟目录是以来宾帐户进行访问。。所以涉及到权限问题。。
-------------------------------------
可以把建在IIS的某个目录的来宾帐户的读写权限钩上。。或者用用户模拟的方式来解决
2.IIS上的匿名访问要勾上
环境是:xp sp2, iis5.1
网站名称:cooolbin(用户名)
主机头:cooolbin.g.com(二级域名)
路径:d:\aaa\ (测试的目录可以手动设置权限,如果根据用户名建的文件夹,要怎么设置权限呢?)
端口:80 提交后执行-》
IISHelper.CreateNewIIsWebServer(cooolbin, @"d:\aaa\", 80,cooolbin.g.com);IIS类:
public static void CreateNewIIsWebServer(string webServerName, string path, int port,string domain)
{
int siteID = GetWebSiteInfo(port);
using (DirectoryEntry site = (DirectoryEntry)iisDE.Invoke("Create", "IIsWebServer", siteID))
{
site.Invoke("Put", "ServerComment", webServerName);
site.Invoke("Put", "KeyType", "IIsWebServer");
site.Invoke("Put", "ServerBindings", ":" + port.ToString() + ":"+domain);//ip:port:domain
site.Invoke("Put", "ServerState", 2);
site.Invoke("Put", "FrontPageWeb", 1);
site.Invoke("Put", "DefaultDoc", "index.aspx");
site.Invoke("Put", "SecureBindings", ":443:");
site.Invoke("Put", "ServerAutoStart", 1);
site.Invoke("Put", "ServerSize", 1);
site.Invoke("SetInfo");
using (DirectoryEntry siteVDir = site.Children.Add("Root", "IISWebVirtualDir"))
{
siteVDir.Properties["AppIsolated"][0] = 2;
siteVDir.Properties["Path"][0] = path;
siteVDir.Properties["AccessFlags"][0] = 513;
siteVDir.Properties["FrontPageWeb"][0] = 1;
//siteVDir.Properties["AppRoot"][0] = "LM/W3SVC/" + siteID + "/"+webServerName;
siteVDir.Properties["AppFriendlyName"][0] = webServerName;
siteVDir.Invoke("AppCreate", true);
siteVDir.CommitChanges();
}
site.CommitChanges();
} }我把目录aaa的安全设置里面 添加加了 Administrator,ASP.NET Machine Account,权限也全都加上了
还有那个everyone的仅限也全加了。。按理说。我这样在IIS建好网站。并指向到那个目录aaa。问题应该就可以解决了。但还是出错了。郁闷。
大家帮我解决了这个问题。我再加100分犒劳大伙。
<authentication mode="Windows"/>本机调试的时候在config加这句就没有问题
<identity impersonate="true"/>在服务器上。就要用这个才可以创建。。
<!--<identity impersonate="true" userName="Administrator" password="***"/>