我的工作应用程序MVC3 Razor无法解决地停止工作:-(IIS 7

时间:2011-07-25 11:51:06

标签: asp.net-mvc-3 iis-7 razor

我的解决方案中有以下项目。

  • MyWebApplication.Data - >在这里,我与我的数据存储库进行交互
  • MyWebApplication.Services - >在这里,我与数据层进行交互
  • MyWebApplication.Web - >依赖于服务层的UI
  • MyWebApplication.Tests - >单元测试项目

对于MONTHS,我在本地开发环境中没有遇到IIS问题。准备好长周末的编程,但整天我只是在尝试解析主页时遇到了500个服务器错误。在我睡觉之前一切都很顺利,整整一天之后我甚至无法加载主页/索引视图。

在查看日志之后,它继续说MyWebApplication.Data.System(我创建的一个名为System()的类)不包含Web。但是没有代码在哪里这是真的。然后我收到了Temp Directory中文件不匹配的另一个错误。

我采取的步骤:

  1. 删除了所有临时文件
  2. 在IIS中创建了一个新的存储库并在那里指向了URL,没有运气
  3. 清洁解决方案
  4. 删除了要重新生成的所有bin文件夹... No Luck
  5. 请帮助!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

2 个答案:

答案 0 :(得分:1)

如果没有错误消息的详细信息,一种策略可能是创建一个新的MVC项目并将文件复制/粘贴到它上面。 其他一些常见原因:

  • 您是引用任何64位库,还是将项目编译为32位(反之亦然)?尝试更改应用程序的“位数”。
  • 如果您的应用程序是32位并且在64位服务器上运行,则需要在IIS中启用运行32位应用程序。请参阅http://exhibita.com/blog/post/2010/03/30/IIS-75-on-x64-with-32bit-applications.aspx
  • 如果其他所有方法都失败了,请发布确切的错误消息。如果它只是“HTTP 500:内部服务器错误”,您应该启用调试输出或从服务器本身运行您的应用程序(实际上使用服务器上的Web浏览器),这将告诉IIS显示完全调试是“安全的”信息。根据我的经验,调试消息实际上非常有用。

答案 1 :(得分:0)

想出来。在

  • MyWebApplication.Web项目,在Shared / Site.Master中我添加了一个导入到我的数据层的引用。 (即<%@ Import Namespace =“MyWebApplication.Data”%>

  • 我解决了删除数据层中我的ShoppingCart类的静态引用,并刚刚创建了一个ActionResult来返回它,并在MasterPage中(当前包含javsscript以允许用户从中查看他们的购物车)在没有重定向到特定页面的站点中的任何地方)使用Html.RenderAction()并返回Content(shoppingCartString)。

猜猜我已经了解到,在Site.Master页面中,它的编译方式与MVC应用程序中的每个其他页面的编译方式不同。我可以肯定地说这是因为在其他页面中,我正在按照我试图在这里做的完全没有任何问题。也许它的构建过程?

无论如何,问题已经解决,希望它也可以帮助其他人。