博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
autofac + owin + webform + mvc + webapi集成demo
阅读量:4461 次
发布时间:2019-06-08

本文共 2964 字,大约阅读时间需要 9 分钟。

 

using Microsoft.Owin;using Owin;using System.Web.Mvc;using Autofac;using Autofac.Integration.Owin;using Autofac.Integration.Mvc;using Autofac.Integration.WebApi;using System.Web.Http;using System.Reflection;using System.Web.Routing;[assembly: OwinStartupAttribute(typeof(AutofacOwinDemo.Startup))]namespace AutofacOwinDemo{    public partial class Startup    {        public void Configuration(IAppBuilder app)        {            //app.Run(context =>            //{            //    context.Response.ContentType = "text/plain";            //    return context.Response.WriteAsync("Hello World!");            //});            ConfigureAuth(app);            var builder = new ContainerBuilder();            builder.RegisterType
().As
(); builder.RegisterType
(); builder.RegisterControllers(typeof(MvcApplication).Assembly); var config = new HttpConfiguration(); WebApiConfig.Register(config); builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterWebApiFilterProvider(config); var container = builder.Build(); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); config.DependencyResolver = new AutofacWebApiDependencyResolver(container); app.UseAutofacMiddleware(container); app.UseAutofacMvc(); app.UseAutofacWebApi(config); app.UseWebApi(config); } }}

webform属性注入

pagebase方式

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Owin;using Autofac;using Autofac.Integration.Owin;using System.Web;namespace AutofacOwinDemo{    public partial class WebForm1 : System.Web.UI.Page    {        public ITest Test { get; set; }        protected void Page_PreInit(object sender, EventArgs e)        {            var owin = this.Context.Request.GetOwinContext() ;            var scop = owin.GetAutofacLifetimeScope();            scop.InjectProperties(this);        }        protected void Page_Load(object sender, EventArgs e)        {        }    }}
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Http;using System.Web.Mvc;using System.Web.Optimization;using System.Web.Routing;using System.Web.Security;using System.Web.SessionState;namespace AutofacOwinDemo{    public class MvcApplication : System.Web.HttpApplication    {        protected void Application_Start()        {            AreaRegistration.RegisterAllAreas();            //GlobalConfiguration.Configure(WebApiConfig.Register); //这里要删除,让owin完全管理webapi            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);            RouteConfig.RegisterRoutes(RouteTable.Routes);            BundleConfig.RegisterBundles(BundleTable.Bundles);        }    }}

 

转载于:https://www.cnblogs.com/shiningrise/p/5568901.html

你可能感兴趣的文章
2015生命之旅---南京、南通、上海之行
查看>>
高精度练习之乘法(codevs_3117)
查看>>
小Z爱划水
查看>>
Qt Font
查看>>
2014年生日
查看>>
扫描目录下的文件并拼接在一起
查看>>
ELK 分布式日志处理 10.12
查看>>
Java虚拟机详解05----垃圾收集器及GC参数
查看>>
7. 单位,移动布局
查看>>
inux中bin与sbin目录的作用及区别介绍
查看>>
USACO 3.1 Contact
查看>>
Office之什么是高内聚低耦合
查看>>
一些奇怪的问题求回答
查看>>
这些年踩过的坑
查看>>
iOS开发拓展篇——如何把项目托管到GitHub
查看>>
性能优化之数据库优化
查看>>
类的继承、菱形继承、派生、多态
查看>>
mysql约束
查看>>
javascript鼠标及键盘事件总结及案例
查看>>
mac 搭建virtualenv的那些坑
查看>>