在 WebForms 中合并 MVC 会产生性能降低,并重定向到生产中的登录页面

本文关键字:重定向 生产中 登录 合并 WebForms MVC 性能 | 更新日期: 2023-09-27 18:32:44

由于未定义的原因,当我尝试将 MVC5 集成到网络表单应用程序中时,在我的机器上的 global.asax 中添加路由忽略后,它工作正常,但在生产中似乎会话为空,因为它重定向到登录.aspx在从默认值获得 302 后.aspx。

明显的问题:

  1. 响应缓慢。~ 11.84 秒(

  2. 会话问题。

        public static void RegisterRoutes(RouteCollection routes)
    {
        //ignore aspx pages (web forms take care of these)
        //routes.Add(new Route("favicon.ico", new StopRoutingHandler()));
        routes.MapPageRoute("default", "", "~/default.aspx");
        routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
        routes.IgnoreRoute("{resource}.asmx/{*pathInfo}");
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.IgnoreRoute("{folder}/{*pathInfo}", new { folder = "Services" });
        //routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" }); 
        routes.MapRoute(
            // Route name
            "home",
            // URL with parameters
            "{controller}/{action}/{id}",
            // Parameter defaults
            new { controller = "home", action = "index", id = "" }
            );
    }
    

网络配置:

  <system.webServer>
<staticContent>
  <remove fileExtension=".woff"/>
  <remove fileExtension=".svg"/>
  <mimeMap fileExtension=".woff" mimeType="application/x-font-woff"/>
  <mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
</staticContent>
<validation validateIntegratedModeConfiguration="false"/>
<modules  runAllManagedModulesForAllRequests="true">
  <remove name="UrlRoutingModule-4.0" />
  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
  <remove name="Session" />
  <add name="Session" type="System.Web.SessionState.SessionStateModule"/>
</modules>

在 WebForms 中合并 MVC 会产生性能降低,并重定向到生产中的登录页面

问题可能出在您的 web.config 文件中,请检查它是否在您的生产环境中包含以下内容。

<configuration>
  ...
  <system.webServer>
    ...
    <modules>
      <remove name="Session" />
      <add name="Session" type="System.Web.SessionState.SessionStateModule"/>
      ...
    </modules>
  </system.webServer>
</configuration>

回复迟到,但无论如何我都会发布它。设置:

runAllManagedModulesForAllRequests="true"

可能会对性能产生重大影响,例如,对图像必须加载的时间。在浏览器中,您可以分析网络活动并比较图像和脚本加载时间,并将此设置设置为 true 和 false。