Hosting和DI注入控制器

组件在新版本中支持使用.NET CoreDependencyInjection组件注入控制器,这样极大方便地对控器一些功能类型通过DI注入到控器中。

引用组件

 

 

定义Host服务

复制代码
     var builder = new HostBuilder()
     .ConfigureServices((hostContext, services) =>
      {
              services
               .AddSingleton<UserService>()
               .UseBeetlexHttp(o => {
                        o.Port = 8080;
                        o.LogToConsole = true;
                        o.LogLevel = BeetleX.EventArgs.LogType.Debug;
                        o.SetDebug();
               }, typeof(Program).Assembly);
        });
       builder.Build().Run();
复制代码

引用组件并添加BeetleX.FastHttpApi.Hosting名称空间后就可以执行UseBeetlexHttp把服务添加到Host.由样这个扩展组件也引入了DependencyInjection所以可能通过相关功能添加对应注入的类型。

控制器定义

复制代码
    [Controller]
    public class Home
    {
        public Home(HttpApiServer server,UserService userService)
        {
            mHttpApiServer = server;
            mUserService = userService;
        }

        private UserService mUserService;

        private HttpApiServer mHttpApiServer;

        public string Hello(string name)
        {
            return $"hello {name}";
        }
    }
    public class UserService
    {
        public bool Login(string name,string pwd)
        {
            return name == "admin" && pwd == "123456";
        }
    }
复制代码

引入DependencyInjection组件后,就可以在控制器中定义注入的类型。

posted @   beetlex  阅读(292)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示