当前位置:主页   - 电脑 - 网站开发 - ASP
500-IIS服务器内部错误解决方法
来源:设计前沿收集   作者:未知   更新时间:2008-12-28
收藏此页】    【字号    】    【打印】    【关闭

最近机子的IIS始终不正常,总是说http500错误,无法解析asp文件,但可以显示静态HTML。去掉‘显示友好的URL错误’后报错:
Server Application Error
The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance.

网上的说法是IWAM_计算机名这个用户密码在Active Directory、IIS metabase数据库和COM+应用程序之间不同步。
但是我在点击‘管理工具-组件服务-组件服务’时提示:COM+ 无法与 Microsoft 分布式事务协调程序交谈,8004e00f错误.

查看事件日志发现MSDTC服务不正常

具体的解决方法如下:

1、删除注册表中的键:
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
• HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
• HKEY_CLASSES_ROOT\CID
2、停止MSDTC服务:net stop msdtc
3、卸载MSDTC服务:msdtc -uninstall
4、重新安装MSDTC服务:msdtc -install
5、启动MSDTC服务:net start msdtc
6、确认在事件查看器中msdtc服务已经正常启动[这步很关键,如果没有,重新启动下电脑看看]
7、重新设置IIS的IWAM账号密码。[在计算机管理中的用户管理里]
8、同步IIS metabase中IWAM_MYSERVER的密码,在CMD中:c:\inetput\adminscripts>adsutil SET w3svc/WAMUserPass Password
"Password"参数就是要设置的IWAM账号的新的密码
9、同步COM+应用程序所用的IWAM_MYSERVER密码,在CMD中:c:\inetput\adminscripts>cscript synciwam.vbs -v
10、大功告成!


IWAM账号建立后被Active Directory、IIS metabase数据库和COM+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码的同步工作。但系统的对IWAM账号的密码同步工作有时会失败,使三方IWAM账号所用密码不统一。当IIS或COM+应用程序使用错误IWAM的密码登录系统,启动IIS Out-Of-Process Pooled Applications时,系统会因密码错误而拒绝这一请求,导致IIS Out-Of-Process Pooled Applications启动失败,也就是我们在ID10004错误事件中看到的“不能运行服务器{3D14228D-FBE1-11D0-995D-00C04FD919C1} ”(这里{3D14228D-FBE1-11D0-995D-00C04FD919C1} 是IIS Out-Of-Process Pooled Applications的KEY),不能转入IIS5应用程序,HTTP 500内部错误就这样产生了。


其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明