关于这个问题有很多帖子,我现在已经尝试了很多方法。但无济于事。我自己基本上是一个Winforms开发人员,几天前开始研究这个Web的东西,因为我的公司正在采取Web的措施。
我有一个ASP.Net项目,我想把它托管在本地IIS上。在 "项目属性-> Web "设置中,我选择了 "使用本地IIS服务器",并给出了一个 "localhost/MyApp "的网址。我试着在我的火狐浏览器上访问它,收到的错误是 "HTTP Error 503.该服务不可用。
以前我遇到过很多其他的错误,我都一一解决了。但这次却出了问题。这些是我的项目中的设置
1.应用程序池设置为ASP.Net v4.0 Classic 2.应用程序池的 "启用32位应用程序 "属性为真 3.应用池已经启动 4.项目构建属性设置为目标框架的 "任何CPU"。
但我想说的是一个奇怪的行为。以下是我所面临的情况
1.应用程序池已经启动
2.我试着访问我的本地网站(通过给出url作为localhost/MyApp
)。
3.3.我收到一个错误:"HTTP错误503。该服务不可用
4.应用程序池被停止了
我看到了以下链接,我已经试过了。对于上述行为,我达到了这里。根据这个链接,计算机名称中不应该有"."。我的计算机名称中没有任何.
,但有-
。此外,我的域名中也含有`.'。此外,我不能改变这些设置,因为这是我的办公室笔记本电脑,我们的TFS设置与我们的域名和计算机名绑定。
谁能帮助我了解发生了什么?请指导我。谢谢。
编辑
我在Global.asax
中有以下代码。Application_BeginRequest
方法在同一文件中是空的。
protected override void Application_Start(object sender, EventArgs e)
{
base.Application_Start(sender, e);
String _path = String.Concat(System.AppDomain.CurrentDomain.RelativeSearchPath, ";",
System.Environment.GetEnvironmentVariable("PATH"));
System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
MyAppLog.Initialize();
MyAppLog.WriteMessage("Application Started");
}
更新
根据评论中的建议,我已经能够从Cassini运行网站了。
发生这种情况的一个可能原因是,IIS中的应用池被配置为在某个自定义账户下运行,而这个账户要么不存在,要么提供了错误的密码,要么密码被更改。看看IIS中的应用程序池的高级属性,看看它使用的是哪个账户。
另外,事件日志可能包含更多信息,说明为什么应用程序池在第一次请求时立即停止。
如果您有McAfee HIPS,并且如果您在事件查看器应用程序日志中看到以下错误。
模块DLL C:\Windows\System32\inetsrv\HipIISEngineStub.dll加载失败。
数据是错误的。
然后,在我的情况下,下面的内容解决了这个问题。 https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST
引自该页。
1.点击开始,运行,输入explorer并点击确定。 2.2. 导航到。%windir%\system32\inetsrv\config 3.以管理员身份在记事本中打开applicationHost.config文件进行编辑。 4.4. 编辑
部分,删除以下一行。
5.编辑
部分,删除以下一行。 6.在你完成编辑applicationHost.config文件后,保存该文件,然后用iisreset或重启系统来重启IIS服务器。