zoukankan      html  css  js  c++  java
  • ASP.NET Core 3中使用动态控制器路由

    创建动态路由转换对象继承 DynamicRouteValueTransformer

      public class SlugRouteValueTransformer : DynamicRouteValueTransformer
        {
    
    
            public SlugRouteValueTransformer()
            {
    
            }
    
            public override async ValueTask<RouteValueDictionary> TransformAsync(HttpContext httpContext, RouteValueDictionary values)
            {
                var requestPath = httpContext.Request.Path.Value;
    
                if (!string.IsNullOrEmpty(requestPath) && requestPath[0] == '/')
                {
                    // Trim the leading slash
                    requestPath = requestPath.Substring(1);
                }
                if (string.IsNullOrEmpty(requestPath))
                {
                    return new RouteValueDictionary
                    {
                        { "area", "Core" },
                        { "controller", "Home" },
                        { "action", "Index" },
                        { "id", "" }
                    };
                }
           //此处可以自定义 也可 通过查询数据库来确定路由到何处

    //可修改的values return values; } }

    在startup中插入动态路由

     services.AddScoped<SlugRouteValueTransformer>();
     app.UseEndpoints(endpoints =>
                {
                    endpoints.MapDynamicControllerRoute<SlugRouteValueTransformer>("/{**slug}");
                    endpoints.MapControllerRoute(
                        name: "areas",
                        pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
                    endpoints.MapControllerRoute(
                        name: "default",
                        pattern: "{controller=Home}/{action=Index}/{id?}");
                });
  • 相关阅读:
    python-web微信实现
    Python---BeautifulSoup模块
    Python—requests模块详解
    KindEditor编辑器
    Django实现瀑布流,组合搜索
    利用(CMD)在Django中创建文件
    ppt插入声音
    高性能mysql 第1,2,3章。
    mysql复制
    最长DNA重复序列长度,并输出该序列。 JAVA
  • 原文地址:https://www.cnblogs.com/daxiongblog/p/13724663.html
Copyright © 2011-2022 走看看