JobStorage.Current 属性值尚未初始化。您必须在使用 Hangfire Client

我在 mvc 应用程序中使用 hangfire。我正在向用户发送预约提醒。我已经在我的应用程序中安装了 hangfire。我已经在 startup.cs 类中配置了 hangfire。但是当我运行该应用程序时,它会产生以下错误 JobStorage。当前属性值尚未初始化。您必须在使用 Hangfire Client 或 Server API 之前设置它。


using Hangfire;

using Hangfire.SqlServer;

using Microsoft.Owin;

using Owin;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using UKC.Data.Infrastructure;

using UKC.UI.Helper;


[assembly: OwinStartup(typeof(UKC.UI.App_Start.Startup))]

namespace UKC.UI.App_Start

{

    public partial class Startup

    {

        public void Configuration(IAppBuilder app)

        {

            ConfigureAuth(app);

            GlobalConfiguration.Configuration

               .UseSqlServerStorage("DbEntities");


            app.UseHangfireDashboard();

            app.UseHangfireServer();


        }

    }

}


慕盖茨4494581
浏览 263回答 2
2回答

翻翻过去那场雪

此链接中有相同的问题。我希望这可以帮助你。你能写出抛出异常的代码吗?我在下面写了你的Startup类和测试控制器。它工作正常。我没有遇到任何异常。[RoutePrefix("")]public class HomeController : ApiController{    [Route(""), HttpGet]    public void Get()    {        Hangfire.BackgroundJob.Enqueue(() => Tasks.DoIt("test"));        Hangfire.BackgroundJob.Schedule(() => Tasks.InitializeJobs(), TimeSpan.FromSeconds(5));    }}public static class Tasks{    public static void DoIt(string s)    {        Console.WriteLine(s);    }    public static void InitializeJobs()    {        Console.WriteLine(DateTime.Now.ToString());    }}

繁星淼淼

用于在 Asp.net core 中初始化public static void InitializeHangFire()        {            var sqlStorage = new SqlServerStorage("connectionString");            var options = new BackgroundJobServerOptions            {                ServerName = "Test Server"            };            JobStorage.Current = sqlStorage;        }
打开App,查看更多内容
随时随地看视频慕课网APP