我有一个需要由后台进程处理的长进程方法。我正在考虑使用HangFire。它是一个免费的开源框架,允许您在.NET应用程序中轻松执行后台处理。问题是我是DNN的新手,我不知道如何开始。我正在谷歌搜索如何整合它,但我无法找到它的参考。任何人都知道如何将HangFire集成到DNN?
答案 0 :(得分:0)
您必须创建一个.NET项目,并在该项目中安装Owin和Hangfire软件包。
在那个项目中
创建一个Owin启动类,并将您的Hangfire初始化代码放入Configuration
方法中,如下所示:
using Hangfire;
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(DnnHangfireIntegration.Startup))]
namespace DnnHangfireIntegration
{
public class Startup
{
public void Configuration(IAppBuilder app)
{
GlobalConfiguration.Configuration.UseSqlServerStorage("HangfireConnection");
app.UseHangfireServer();
app.UseHangfireDashboard("/desktopmodules/hangfire");
}
}
}
您必须将hangfire仪表板配置为使用'/ desktopmodules / hangfire'URL,以便DNN不会拦截它。
编译项目,然后将项目DLL,Hangfire DLL和Owin DLL复制到DNN二进制文件夹中。
最后,您必须更新web.config才能告诉Hangfire如何找到启动类。您可以使用以下appsetting来做到这一点:
<add key="owin:AutomaticAppStartup" value="true"/>
也不要忘记添加连接字符串,您也可以只重用现有的连接字符串。
有关详细的演练,请查看我的博客文章:https://swimburger.net/blog/dotnet/how-to-add-hangfire-to-dnn