<address id="9vp7r"></address>

    
    
      <sub id="9vp7r"></sub><thead id="9vp7r"></thead>

          <address id="9vp7r"></address>

          <sub id="9vp7r"></sub>

          <sub id="9vp7r"></sub>

          在.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的面板一摸一样了??

          分享图片

          分享图片

          相关文章
          相关标签/搜索
          4987铁算结果开奖结果小说 南安市| 马山县| 涪陵区| 简阳市| 勐海县| 清徐县| 北海市| 金昌市| 哈密市| 开鲁县| 谷城县| 德庆县| 永登县| 三原县| 枣强县| 宝坻区| 兴海县| 南和县| 堆龙德庆县| 平利县| 长岛县| 陆河县| 墨江| 平泉县| 安乡县| 容城县| 宁阳县| 潞西市| 清水县| 行唐县| 哈巴河县| 宁津县| 大悟县| 灵璧县| 云浮市| 宁海县| 康平县| http://fa.hz0j2r8vo.fun http://fa.hz0j2r2vo.fun http://fa.hz0j1r3vo.fun http://fa.hz0j2r6vo.fun http://fa.hz0j1r7vo.fun