我需要每隔30秒运行一次方法 - 我只是制作一个受IP限制的单页,并且每隔30秒就通过CURL调用一次计划任务。
我正在阅读一篇文章并了解了篝火 - 这看起来很神奇!
所以,我有一个基于实体框架代码优先构建的现有应用程序 - 我尝试使用标准数据库的默认挂起设置,但是我一直得到"用户登录失败"黄色屏幕。
所以,我想知道,有没有一种快速方法可以让它在标准实体框架表\单个DbContext中工作,或者,我最好只是给它自己的数据库和登录?
根据评论更新:
我正在使用一个全新的MVC应用程序并简单地安装了hangfire。连接字符串是:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-myproject-20150404061144;Integrated Security=True" providerName="System.Data.SqlClient" />
我补充道:
GlobalConfiguration.Configuration.UseSqlServerStorage("DefaultConnection");
app.UseHangfireDashboard();
app.UseHangfireServer();
然而,在启动时,我得到:
当我从启动类中删除这三行时,应用程序就像正常一样运行 - 所以,我不明白在EF可以连接时可以连接的挂机正在做什么。
答案 0 :(得分:1)
似乎Hangfire需要已经创建了数据库。就我而言,我只是确保它已经初始化了:
using (var context = new MyContext())
{
context.Database.Initialize(false);
}
Hangfire.GlobalConfiguration.Configuration.UseSqlServerStorage("EFConnectionStringName");
这是做什么的:
CreateIfNotExists
,我们就不会在数据库中获得正确的结果)MyContext
使用相同的连接字符串名称)答案 1 :(得分:-3)
这可能是因为您正在为项目使用localDB。 显然,如果你需要创建一个类似于Message Queu的Jobs和Hangfire,需要一个快速存储解决方案。 LocalDB不是很快,可能缺少Hangfire所依赖的许多功能。