Owin不包含“UseHangfire”的定义,也没有扩展方法“UseHangfire”

本文关键字:UseHangfire 方法 扩展 包含 Owin 定义 | 更新日期: 2023-09-27 18:37:11

我正在尝试在VS 2013中设置Hangfire,我已经通过包管理器安装了它。但是,当我添加应用程序时。使用 http://docs.hangfire.io/en/latest/quick-start.html 中所述的Hangfire (...)代码。我收到以下错误:

'Owin.IAppBuilder' does not contain a definition for 'UseHangfire' and no extension method 'UseHangfire' accepting a first argument of type 'Owin.IAppBuilder' could be found (are you missing a using directive or an assembly reference?)

Owin不包含“UseHangfire”的定义,也没有扩展方法“UseHangfire”

您是否添加了命名空间?

using Hangfire;

您的Startup应如下所示:

using Hangfire;
using Hangfire.SqlServer;
using Hangfire.Dashboard;
public class Startup
{
    public void Configuration(IAppBuilder app)
        {
            app.UseHangfire(config =>
            {
                config.UseSqlServerStorage("Data Source=<connectionstring>; Initial Catalog=HangFire; Trusted_Connection=true;");
                config.UseServer();
                //config.UseAuthorizationFilters(new AuthorizationFilter
                //{
                //    // Users = "admin, superuser", // allow only specified users
                //    Roles = "admins" // allow only specified roles
                //});
            });
    }
}

将 HangFire.Core 包更新到最新版本为我解决了这个问题。似乎 OWIN 正在安装较旧的软件包作为依赖项

从版本 1.4 开始,配置已过时,请改用 GlobalConfiguration:

public partial class Startup {
    public void Configuration(IAppBuilder app)
    {
        GlobalConfiguration.Configuration
            .SetDataCompatibilityLevel(CompatibilityLevel.Version_170)
            .UseSimpleAssemblyNameTypeSerializer()
            .UseRecommendedSerializerSettings()
            .UseSqlServerStorage(System.Configuration.ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString, new SqlServerStorageOptions
            {
                CommandBatchMaxTimeout = TimeSpan.FromMinutes(5),
                SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5),
                QueuePollInterval = TimeSpan.Zero,
                UseRecommendedIsolationLevel = true,
                DisableGlobalLocks = true
            });
        app.UseHangfireDashboard();
        app.UseHangfireServer();
    ...
    }