环境:
- Windows Server Standard 2008 SP2(不是R2)x64
- 带有Media Services 4的IIS7,用于Microsoft SmoothStreaming
- MediaWiki和MySQL
SmoothStreaming工作得很好,MediaWiki工作得很好......其他各种各样的Php应用程序运行良好。
我最近使用Visual Studio 2010开发了一个应用程序。当我在Visual Studio中调试应用程序时,编译很好,没有错误。当我将已编译的应用程序移动到Web服务器时,即使应用程序池配置为.Net 4.0,它也会给我带来错误。我显然错过了一些东西,而且我整天都没有找到任何答案。
我尝试使用aspnet_regiis.exe工具向IIS注册ASP.NET 4,但%windir%\ Microsoft.NET \ Framework64 \ v4.0.30319或%windir%\ Microsoft.NET \ Framework \中不存在此类文件v4.0.30319。
我不明白,我现在在Windows 7 Pro x64机器上,我在两个位置都有必要的aspnet_isapi.dll文件......但是在我的Windows Server 2008机器上却没有,即使我使用了完全相同的.Net Framework 4安装程序......
我还尝试卸载.Net Framework 4并重新安装,以便它自动向IIS7注册,但asapi处理程序从未显示,并且这些目录中不存在注册工具。
我在这里缺少什么?
特定错误(虽然我对特定错误的研究没有产生任何方向)是“Handler'PageHandlerFactory-Integrated'在其模块列表中有一个错误的模块'ManagedPipelineHandler'”我在web.config下的唯一模块条目是<modules runAllManagedModulesForAllRequests="true"/>
答案 0 :(得分:0)
您的问题有点不清楚(因为您收到的错误中缺少详细信息...例如,当您导航到页面时是否会出现错误?是404还是等等),但我会采取刺。
首先想到的是,您正在运行MVC应用程序的Web应用程序是什么?如果是这样,您的Web服务器可能未设置为处理路由。
如果这是一个MVC应用程序,并且您确实获得了404,那么您可以尝试将以下内容添加到您的web.config中:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<system.webServer>
这将确保ASP.Net用于处理该站点的Web服务器上的所有请求,假设您在应用程序中引用了System.Web.Routing
。如果这样可以解决问题,那么可能需要研究一种更具可扩展性的解决方案。
答案 1 :(得分:0)
原来我是一个巨大的菜鸟。
确保安装了正确版本的.NET Framework 4.0非常重要。您需要“客户端”版本。如果您安装“ServerCore”,您将遇到我遇到的同样问题,即使您认为需要“ServerCore”来运行Web“服务器”,情况并非如此。