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?)
您是否添加了命名空间?
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();
...
}