当前位置:Gxlcms > 数据库问题 > SQL Table 自动生成Net底层-控制器Autofac注入

SQL Table 自动生成Net底层-控制器Autofac注入

时间:2021-07-01 10:21:17 帮助过:14人阅读

static string DataTableToAutoface(DataTable dt,string nameSpace) { StringBuilder sb = new StringBuilder(); StringBuilder sbContent = new StringBuilder(); for (var i = 0; i < dt.Rows.Count; i++) { sbContent.AppendFormat(@" public I{0} I{0} {{ get {{ return DependencyResolver.Current.GetService<I{0}>() as I{0}; }} }}", dt.Rows[i]["name"] + "Service"); } sb.AppendFormat(@" using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using Autofac; using {0}.Mapping; using {0}.IService; namespace {0}.UIBase.Controllers {{ /// <summary> /// 系统控制器层注入入口(统一生成请不要修改文件) /// </summary> public partial class BaseController : Controller {{ {1} }} }}", nameSpace, sbContent); return sb.ToString(); } View Code

Global.asax

技术分享图片
public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }

        protected void Application_Start()
        {
       
            var builder = new ContainerBuilder();
            builder.RegisterModule(new ConfigurationSettingsReader("命名"));
            Assembly[] asm = PluginHelper.GetAllAssembly().ToArray();

            //Assembly.LoadFrom(Path.GetFileNameWithoutExtension("SharpSvn.dll"));
            builder.RegisterAssemblyTypes(asm);
            builder.RegisterControllers(Assembly.GetExecutingAssembly());
            builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly());
            builder.RegisterModelBinderProvider();
            builder.RegisterFilterProvider();//注册Filter        
            var container = builder.Build();
            DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
            AreaRegistration.RegisterAllAreas();
            RegisterRoutes(RouteTable.Routes);
        }
View Code

PluginHelper

技术分享图片View Code

配置文件

技术分享图片
<configSections>
    <section name="module" type="Autofac.Configuration.SectionHandler, Autofac.Configuration"/>
  </configSections>
  <lq-module>
    <modules>
      <module type="命名空间.Service,命名空间"></module>
      <module type="命名空间.Repository,命名空间"></module>
    </modules>
  </lq-module>
</configuration>

web.config
  <命名>
    <files>
      <file name="Config/Module.config" section="module" />
    </files>
  </命名>
View Code

 

SQL Table 自动生成Net底层-控制器Autofac注入

标签:tab   register   tostring   exe   new   系统   技术   and   data   

人气教程排行