Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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
Asp.net HTTP错误403.14-访问网站时出现禁止的错误_Asp.net_.net_Asp.net Mvc_Windows 7_Iis 7 - Fatal编程技术网

Asp.net HTTP错误403.14-访问网站时出现禁止的错误

Asp.net HTTP错误403.14-访问网站时出现禁止的错误,asp.net,.net,asp.net-mvc,windows-7,iis-7,Asp.net,.net,Asp.net Mvc,Windows 7,Iis 7,所以我有了所有更新的代码,整个解决方案的构建。它在其他人的机器上工作,但是当我尝试在我的机器上访问localhost/extranet时,它会给我以下错误: HTTP错误403.14-禁止 详细错误信息: Module DirectoryListingModule Notification ExecuteRequestHandler Handler 0x00000000 Requested URL http://localhost:80/extranet/ Physical Path C:\

所以我有了所有更新的代码,整个解决方案的构建。它在其他人的机器上工作,但是当我尝试在我的机器上访问
localhost/extranet
时,它会给我以下错误:

HTTP错误403.14-禁止

详细错误信息:

Module DirectoryListingModule
Notification ExecuteRequestHandler
Handler 0x00000000
Requested URL   http://localhost:80/extranet/
Physical Path C:\svn\K2\trunk\appteam\web\Chatham.Web.UI.Extranet\
Logon Method Anonymous
Logon User Anonymous
现在我尝试进入IIS7,启用目录浏览,这消除了错误,但仍然没有打开我的网站。我还试着进入并禁用默认文档,重新启用它,一切都没用。我也重新启动了几次IIS,但都没有用


有什么想法吗?

在IIS中,您需要找出应用程序运行的应用程序池。只需右键单击
站点>管理网站>高级设置下的web应用程序
。第一个属性应该是应用程序池


现在,单击应用程序池。您应该看到一个名为“Identity”的列。将该用户添加到
C:\svn\K2\trunk\appteam\web\Chatham.web.UI.Extranet\
目录的ACL中。如果它只是说“ApplicationPoolIdentity”,可能会有点棘手。如果它只是在
DefaultAppPool
下运行,您可以使用IIS
AppPool\DefaultAppPool

听起来好像您的IIS没有处理应用程序的路由规则,正在尝试查找default.aspx、index.htm等。因为它无法找到,所以它希望显示目录列表(这就是您获得404.14的原因)

我刚刚检查了我的开发设置,我认为您的应用池必须设置为集成,而不是应用池的托管管道上的经典。我以前遇到过这种情况,可能有使用经典管道的方法,但这将/应该是解决问题的最快方法。要检查/更改管道模式,请单击应用程序n从IIS左侧的菜单中,找到您的应用程序池并查看“托管管道”列。如果设置为“经典->右键单击应用程序池”,选择“基本设置”,然后将下拉列表从“经典”更改为“集成”

如果我不正确,请有人在评论中随时纠正我


编辑-只需添加,您可以在经典管道模式下运行MVC应用程序,但您必须执行IIS 6技巧才能使其正常工作。主要是,您需要打开通配符脚本映射,MVC才能在经典模式下工作,如果它不需要.aspx文件(或类似文件)使其能够处理从IIS到.NET的执行管道。

导致此错误将从站点的根目录中删除Global.asax文件

要解决此问题,请向项目中添加Global.asax文件


请参阅此处:

还请确保在IIS应用程序池设置中,在
高级设置下启用的32位应用程序
设置为FALSE。我花了数小时试图解决此问题,这就是我的问题。通过右键单击页面并选择您需要的“设置为起始页”,更改“起始页”您希望在web应用程序首先启动时首先打开。这可能会解决您的问题。

我的解决方案是因为我没有通过“打开和关闭Windows功能”安装ASP.NET,所以很简单。我通过启用目录浏览器并尝试转到“我的视图”文件夹找到了答案,该文件夹给出了一个更具描述性的答案,并且几乎说模块有问题,因为ASP.NET安装不正确。然后我突然意识到要去安装它。

我通过设置精确的.net framework解决了这个问题。我的网站使用的是.net的v4.0版本

  • 处理此问题的解决方法:
  • 以管理员身份打开命令行
  • 转到目录“C:\Windows\Microsoft.NET\Framework\v4.0.30319”
  • 执行以下命令:aspnet_regiis.exe-i
  • 打开IIS并将应用程序的管道模式更改为集成

希望这能有所帮助

在我的例子中,服务器上缺少HTTP重定向功能(IIS 10)

添加该功能解决了问题,站点开始正常加载


您可以通过浏览器访问网站上的普通HTML文档吗?您可能只需要让AppPool用户访问该目录即可。通常,AppPool帐户只能访问
\inetpub\MyWebApplication
@HectorCorrea,我没有尝试过,因为ISAPI应该重定向到正确的页面。@scottm-我该怎么做?我在将我的应用切换到“预编译”时遇到了这个问题,因为它从目录中删除了global.asax。当我发布应用程序时关闭“预编译”选项,带回了Globalax文件并为我解决了问题。是的,它说的是
ApplicationPoolIdentity
。我检查了你的链接,但我不确定从这里去哪里…@slandau,你的应用程序运行在哪个应用程序池下?然后你需要右键单击你的文件夹(
\svn\K2…\Chatham
),转到属性和安全选项卡下,添加至少具有读取权限的用户
IIS AppPool\Classic.NET AppPool
。您可能需要将“选择用户或组”对话框中的位置更改为您的计算机,而不是域。好的,已添加名称,但这仍然无法解决问题。我想这和ISAPI的重写有关。感谢上帝!我以前收到过这个,并且已经修好了,当它再次发生时,我正在撕我的头发。在我读到这条评论的第二次点击。