<address id="xvfrz"></address>

              在.netcore webapi项目中使用后台任务工具Hangfire

               

              安装Hangfire

                在webapi项目中通过nuget安装Hangfire.Core,Hangfire.SqlServer,Hangfire.AspNetCore,截止到目前的最新版本是1.7.6。

              分享图片

               

              使用MSSQL数据库

                可以创建一个新的数据库,或者使用现有数据库。

              CREATE DATABASE [HangfireTest]
              GO

               

               设置appsettings.json

              {
                "ConnectionStrings": {
                  "Hangfire": "Server=.;Database=mssqllocaldb;Integrated Security=SSPI;"
                },
                "Logging": {
                  "LogLevel": {
                    "Default": "Warning",
                    "Hangfire": "Information"
                  }
                },
                "AllowedHosts": "*"
              }

               

              注册hangfire服务

                在startup.cs引用HangfireHangfire.SqlServer,然后注册hangfire服务。

              // This method gets called by the runtime. Use this method to add services to the container.
              public void ConfigureServices(IServiceCollection services)
              {
                  // 注册Hangfire服务
                  services.AddHangfire(configuration => configuration
                      .SetDataCompatibilityLevel(CompatibilityLevel.Version_170)
                      .UseSimpleAssemblyNameTypeSerializer()
                      .UseRecommendedSerializerSettings()
                      .UseSqlServerStorage(Configuration.GetConnectionString("HangfireConnection"), new SqlServerStorageOptions
                      {
                          CommandBatchMaxTimeout = TimeSpan.FromMinutes(5),
                          SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5),
                          QueuePollInterval = TimeSpan.Zero,
                          UseRecommendedIsolationLevel = true,
                          UsePageLocksOnDequeue = true,
                          DisableGlobalLocks = true
                      }));
              
                  services.AddHangfireServer();
              
                  services.AddMvc();
              }

               

                修改configure方法

              // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
              public void Configure(IApplicationBuilder app, IBackgroundJobClient backgroundJobs, IHostingEnvironment env)
              {
                  if (env.IsDevelopment())
                  {
                      app.UseDeveloperExceptionPage();
                  }
                  else
                  {
                      // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                      app.UseHsts();
                  }
              
                  app.UseHangfireDashboard();
                  backgroundJobs.Enqueue(() => Console.WriteLine("hello from hangfire"));
              
                  app.UseHttpsRedirection();
                  app.UseMvc();
              }

               

              启动项目

                可以看到数据库中自动创建了几张表。

              分享图片

                在项目地址后面加上/hangfire进入hangfire任务面板,这个面板可以说和CAP的面板一摸一样了??

              分享图片

              分享图片

              相关文章
              相关标签/搜索
              2019年所有开马的记录 广水市| 微博| 东乡县| 巨野县| 陕西省| 海口市| 安国市| 洱源县| 永泰县| 上栗县| 柳州市| 桑植县| 宁化县| 太仓市| 伊吾县| 班玛县| 安仁县| 兴化市| 澄江县| 博野县| 广德县| 翁源县| 米泉市| 资中县| 旺苍县| 察雅县| 宜州市| 临沂市| 吴堡县| 隆昌县| 大丰市| 通化县| 阿克陶县| 左云县| 镇坪县| 高淳县| 鲁甸县| http://fa.hz0j2r2vo.fun http://fa.hz0j1r4vo.fun http://fa.hz0j2r8vo.fun http://fa.hz0j1r4vo.fun http://fa.hz0j2r1vo.fun