gpt4 book ai didi

asp.net-mvc - 让 ASP.MVC2/VS2010 应用程序在 IIS 7.5 中工作

转载 作者:行者123 更新时间:2023-12-03 10:18:35 25 4
gpt4 key购买 nike

我最近下载了 VS2010 的 beta 2 并开始使用 ASP.NET MVC2。最初的开发是使用 Casini 完成的,但现在我想从 IIS 7.5 运行应用程序(我正在运行 Windows 7)。
我已经安装了 IIS6 元数据库兼容性并以管理员身份运行 VS2010,因此我可以使用项目设置的“Web”选项卡中的“创建虚拟目录”按钮。
这在 IIS 中创建了 Web 应用程序条目,但它不起作用。

当我转到主页 (http://localhost/MyMvcApp/) 时,我收到 HTTP 403 错误。当我直接转到其中一个子页面 (http://localhost/MyMvcApp/Home/) 时,我得到一个 HTTP 404。

所以我猜出于某种原因 URL 路由不起作用。
我已经将 UrlRouting 作为模块和处理程序添加到 web.config。在我的搜索中,这是作为一些类似问题的解决方案提供的。但对我来说,这仍然行不通。

我的 web.config 中有趣的部分如下所示:

<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear />
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
<pages>
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
<httpHandlers>
<add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler" />
</httpHandlers>
<customErrors mode="Off" />
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" >
<remove name="UrlRoutingModule"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</modules>
<handlers>
<remove name="MvcHttpHandler" />
<add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler" />
<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
<httpErrors errorMode="Detailed" />
</system.webServer>

最佳答案

我刚遇到这个问题,不幸的是这里的修复对我不起作用。

什么工作是这样运行的:

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

在命令窗口中......现在像梦一样工作!

(那么,安装VS2010时,ASP.Net是不是默认安装到IIS中的?)

关于asp.net-mvc - 让 ASP.MVC2/VS2010 应用程序在 IIS 7.5 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1852251/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com