【发布时间】:2017-07-15 23:49:15
【问题描述】:
当我尝试运行 ASP.NET 站点时出现此错误(我第一次尝试运行它):
但查看涉及的文件(\C:\EnhancedSalesReporting\customerreportingnet\customerreportingnet\web.config),它似乎没有任何限制/权限不足:
这里真正的问题是什么,或者我必须做什么才能摆脱这个令人沮丧的障碍?
asp.net web.config 500.19 internalservererror configfile enoughpermissions 权限
更新
当我通过在 IIS 中创建一个虚拟目录,将其指向这些文件的位置,然后在 VS 中选择“文件”>“打开网站...”以不同的方式处理它时,我的表现并没有更好,真的。错误页面是不同的,但无论哪种方式我都被卡住了。该障碍被描述为here。
更新 2
当我尝试按照the link provided in the comment by Ken White 中接受的答案中的步骤操作时,通过尝试将“IIS_IUSRS”添加到 Web.Config 的组或“安全”选项卡中的用户名,我得到“Name Not Found - An找不到名为“IIS_IUSRS”的对象...“
我是不是走错了路?无论我尝试通过 Windows 资源管理器还是从 IIS7.5 中的“内容视图”窗格编辑 Web.Config,我都会得到相同的结果 - 还有其他含义吗?
更新 3
上面引用的帖子的另一个提示是,“您还应该检查 applicationhost.config 文件中的只读属性”
这值得一试,但哪个?我的硬盘上有 9 个 applicationhost.config 文件,其中四个看起来很有可能,它们位于以下位置:
C:\Program Files (x86)\IIS Express
C:\Program Files\IIS Express
C:\Users\cshannon\MyDocuments\IIS Express
C:\Windows\System32\inetsrv
如果有的话,将 readonly 设置为 false 有什么好处?
更新 4
这是对 Michael Liu 的回答:
谢谢,迈克尔;
我按照您的步骤操作,但仍然得到相同的错误页面。我原以为它会起作用,所以我有点惊讶(甚至感到羞愧)我最终得到了相同的旧错误页面。
顺便说一句,我在任务管理器中没有看到“详细信息”选项卡,但“进程”选项卡中有“显示所有用户的进程”。
也许这就是问题所在 - 任务管理器中有 三个 w3wp.exe 条目:
Image Name User Name
---------- ---------
w3wp.exe *32 DefaultAppPool
w3wp.exe classicEservice
w3wp.exe NETWORK SERVICE
应该只有一个吗?
更新 5
重新启动 IIS7.5 后,我在任务管理器中“只有”两个 w3wp.exe 条目:
w3wp.exe *32 (DefaultAppPool)
w3wp.exe (NETWORK SERVICE)
那么 2 是不是太多了?
更新 6
回应迈克尔的更新步骤:
Application Pool == classicEservice
在“应用程序池”中,classicEservice 的值是:
Status == Started
.NET Framework Version == v2.0
Managed Pipeline Mode == Classic
Identity == ApplicationPoolIdentity
Applications == 5
再次执行这些步骤,但将“DefaultAppPool”替换为“classicEservice”肯定会让我走上正轨,因为我不再得到 500.19 错误页面。现在是http://localhost/CustomerReportingNET/pages/custmaint_entry.aspx 上的“沙漏”。
我认为也许应该去掉“/pages/custmaint_entry.aspx”;我会看看我需要做些什么来完成它......
更新 7
第一次“沙漏”直到奶牛回家,第二次(和第三次)它向我展示了这个:
更新 8
我尝试了“不调试就开始”,并去掉了 URL 的后端,使其只是“http://localhost/CustomerReportingNET/”,但它仍然是沙漏(或者我猜是“蓝色旋转甜甜圈”),就像一个过量服用的旋转苦行僧关于能量饮料。
【问题讨论】:
-
错误页面底部引用的“事件日志”在哪里?
-
添加/编辑用户权限时,在“来自此位置”部分 -
proactusa.local是您的 本地计算机(名称)还是某个网络域?您只影响您的本地计算机,因此用户来源应该相同(本地用户,而不是域)。 -
看起来“权限不足”的问题已经解决。加载问题可能是一个单独的问题。为了解决它,我会尝试运行进程监视器并在您浏览到该站点时查看文件和注册表活动,看看它可能卡在哪里。例如,是否正在加载 .NET Framework DLL? ASP.NET 是否正在编译您的 .aspx 页面? DLL 是否被复制到 Temporary ASP.NET Files 文件夹并从那里加载?
-
也可能是classicEservice应用池的问题。如果您创建一个仅包含“Hello World”.aspx 页面的单独虚拟目录,并将虚拟目录配置为使用 classicEservice,该页面会加载吗?如果没有,其他应用程序池是否有效? ASP.NET 在这台机器上工作吗?
标签: asp.net web-config file-permissions internal-server-error configuration-files