本文主要介绍abp接口(abp身份服务器),下面一起看看abp接口(abp身份服务器)相关资讯。
abp中的每个中间件都可以配置自己的依赖注入容器(重写configureservices,然后通过context 服务属性)和请求管道(重写onapplicationinitialization,然后通过上下文 s getapplicationbuilder)。
[dependson(type of(abpaspnetcoremvcmodul: abp module {//在这里,配置模块 自己的容器,公共重写void configure services(service configuration context){ iservicecollection services = context . services;//服务。addtransientiservice1,service 1;基地。configureservices(上下文);}//在这里,配置模块 自己的管道,public override void应用程序初始化(应用程序初始化上下文){var app = context。getapplicationbuilder;app。user routing;app。useendpoints(端点= { endpoint。mapget( /guid ,异步上下文= { await context。response.writeasync(guid。newguid。tostring);});});基地。onapplicationinitialization(上下文);}}项目结构图
1创建asp.net core mvc项目并添olo。abp.aspnetcore.mvc包。
项目模块类如下:
使用类库1;使用微软。aspnetcore。建设者;使用微软。扩展。托管;利用沃洛。abp利用沃洛。abp . aspnetcore.mvc利用沃洛。模块化;命名空间abphelloworldwebmvc {[dependson(type of(abpaspnetcoremvcmodule))][dependson(type of(app 1 module))]公共类abphelloworldwebmvcmodul: abp module {//编写自己的管道公共重写void应用程序初始化(应用程序初始化上下文){var app = context。getapplicationbuilder;var env =上下文。get environment;if (env。isdevelopment) { app。usedeveloperexceptionpage;} else { app。useexceptionhandler( /home/error );} app。usestaticfiles;app。user routing;app。use authorization;//使用abp的扩展方法配置默认路由app。useconfiguredpoints(options = { options。mapcontrollerroute( 默认 , { controller = home }/{ action = privacy }/{ id?} );});}}}启动类如下:
使用微软。aspnetcore . builder使用微软。aspnetcore . hosting使用微软。扩展。配置;使用微软。dependencyinjection使用微软。外面的(exterior的简写)紧张。托管;使用系统;使用系统。集合。泛型;使用系统。linq使用系统。线程。任务;命名空间abphelloworldwebmvc { public class startup {//此方法由运行时调用。使用此方法将服务添加到容器中。公共void configure services(iservicecollectionservices){ services。addapplicationabphelloworldwebmvcmodule;} //运行时调用此方法。使用此方法配置http请求管道。public void configure(iapplicationbuilder应用程序){ app。initialize application;} }}2创建项目类库1
模块类别如下:
使用微软。aspnetcore . builder使用微软。aspnetcore . http使用微软。dependencyinjection使用系统;利用沃洛。abp利用沃洛。abp . aspnetcore.mvc利用沃洛。模块化;命名空间class library 1 {[dependson(type of(abpaspnetcoremvcmodul: abp module {//在这里,配置模块 自己的容器,公共覆盖void configure services(service configuration context context){ iserviceco集合服务=上下文。服务;//服务。addtransientiservice1,service 1;基地。configureservices(上下文);}//在这里,配置模块 自己的管道,public override void应用程序初始化(应用程序初始化上下文){var app = context。getapplicationbuilder;app。user routing;app。useendpoints(端点= { endpoint。mapget( /guid ,异步上下文= { await context。response.writeasync(guid。newguid。tostring);});});基地。onapplicationinitialization(上下文);}}}添加服务iservice1
使用系统;使用系统。集合。泛型;使用系统。linq使用系统。文本;使用系统。线程。任务;利用沃洛。abp .依赖注入;命名空间classlibrary1{公共接口iservic: itransientdependency { string ping;}公共类servic: iservice 1 {公共字符串ping{ return app1乒乓 }}}在项目类库1中添加控制器app1controller。
使用微软。aspnetcore . mvc使用系统;使用系统。集合。泛型;使用系统。linq使用系统。文本;使用sy茎。线程。任务;利用沃洛。abp . aspnetcore.mvc命名空间class library 1 { public class app 1 controll: abp controller { i service 1 _ service 1;public app 1 controller(iservice1 service 1){ _ service 1 = service 1;} public iaction result ping{ var ress tr = _ servic测试
此时,web项目就是启动页面。
输入两个地址以访问app1module中配置的控制器和管道。
: 5000/app 1/ping
: 5000/guid
标签:
自己的模块
了解更多abp接口(abp身份服务器)相关内容请关注本站点。