【发布时间】:2018-04-16 12:43:41
【问题描述】:
您好,我在 MVC 5 中使用 hangfire创建了一个后台作业。我发送了一个后台作业已启动的通知,但我不知道如何在后台作业完成时发送通知,因为我的 ActionResults 方法有返回。
控制器
public ActionResult RunMedia(int ID)
{
BackgroundJob.Enqueue<CrawlerSearchRequestModel>(x => x.StoreMedia(ID,"NaturalPerson"));
obj
{
success: true
};
return JSON(obj, JsonRequestBehavior.AllowGet)
}
Ajax 调用和 Javascript 通知
$(document).ready(function () {
$(document).on("click", "#submitButton", function () {
debugger;
var userId = $(this).attr('userid')
$.ajax({
type: 'POST',
url: "../LemonCreditAuth/NaturalPerson/RunMedia",
data: {
ID: userId
},
success: function (data) {
swal("Adverse Media!", "Adverse Media has started. After a 20 seconds please check the media case for updates", "success");
},
error: function (data, error) {
swal("Adverse Media!", "Error ocurred while trying to run adverse media", "warning");
}
});
});
谢谢
【问题讨论】:
-
这只是一个附带问题,但是从通过 ajax 调用的方法返回重定向是没有意义的。
-
使用 websockets,信号器
-
谢谢,我会设置信号器然后试试看
标签: javascript c# ajax asp.net-mvc hangfire