2011-11-15 33 views
18

我们正在将我们的MVC3应用程序从IIS 6切换到7.5。我正在设置我的本地开发环境在Windows 7上。该应用大部分工作正常,但我刚刚发现,我有许多不同的MVC领域中的一个不起作用。什么可能导致503服务不可用于asp.net mvc3应用程序的报告区域?

当我尝试点击此区域下的操作时,出现503服务不可用错误。这在我的应用程序的其他地方不会发生。

  • 整个网站只有一个应用程序池。
  • MVC 3
  • .NET 4.0
  • 64位
  • 失败请求跟踪不会看到这些请求。
  • 在Windows应用程序或系统日志中没有任何相关内容。
  • 该地区正常工作下的Visual Studio 2010卡西尼,问题发生在我运行它在本地IIS 7.5(不表达)
  • 应用程序池没有崩溃或以其他方式停止
  • 没有什么我ELMAH登录
  • 在文件系统中的安全性上整个树
  • 每个人完全控制
  • URL是http://localhost/reports

我完全难倒。我找不到任何证据证明IIS甚至都没有收到这个请求。我列出的旁边还有其他日志文件吗?

[更新] 有没有什么办法可以查看http.sys的网址预订?我发现了一些关于SQL报告服务的问题,这些服务调用dib/Reports url。

+0

您是否有任何其他IIS模块或应用程序可以处理该URL? – SLaks

+0

除非有默认的IIS 7安装程序可以处理该网址。 –

+1

如果您将其更改为/ reports2,您是否仍然遇到同样的问题...? – Nik

回答

31

我想通了。这是由于SQL报告服务在http.sys中保留了http://+:80/Reports url。

我实际上没有安装报告服务,但它显然仍然保留了网址。

我用下面的命令修复它:

netsh http delete urlacl url=http://+:80/Reports 
+3

谢谢!这个问题如同地狱般奇怪,但又是为了拯救。 – lahsrah

+0

谢谢它真的帮我解决了这个问题。 –

+0

排序,不知道我会有自己的工作! – Fordio

0

你在这个区域使用任何ODBC或其他组件吗?在64位模式下运行应用程序池时,我遇到了这样的错误(或者类似的问题,记不起我的头顶),而底层调用引用的是32位'某事'。您可以尝试在应用程序池设置中启用32位应用程序,以查看它是否会影响结果。

3

检查帐户/ IIS - >应用程序池 - >高级设置 - >流程模型 - >您的池正在运行的身份在其下。我更改了密码,没有得到无效密码的日志,而是装载失败,这反过来导致应用程序池被关闭,并且“503 Service Unavailable”被提供给用户。

1

另一种方案是,我与我的http://ApplicationURL/报告

同样的问题,是在SSRS是问题。

这一个更好的解决办法是

  1. OpenReporting服务配置管理器。
  2. 连接到本地服务通常计算机名\ MSSQLSERVER
  3. 进入“报表管理器URL”选项
  4. 与另一个名称,而不是报告修改虚拟目录。

只要记住这个更改,您的SSRS报告将以您定义的名称命名。

Carlos

+0

我知道这不是我的mvc代码。哈哈!这只是一个错误,尽管这很常见。 谢谢,这对我来说绝对是最正确的答案。不知道为什么它没有被upvoted。其他人肯定会遇到这种情况你知道......微软声称所有80端口主机上的/ Reports /路径......很可笑。只有ms可以摆脱这种事情。 – Barry

相关问题