计数器不使用jquery通过电子邮件计数进行更新

时间:2018-04-23 15:37:45

标签: c# jquery asp.net-mvc

我有一些jQuery调用一些服务器端代码作为计数器来计算发送的电子邮件数量,问题是即使jquery调用服务器端代码,计数器永远不会更新,只显示最终计数。

任何人都可以发现我做错了什么。

$(document).ready(function() {
    var sendFunction = function() {
        $.post("/path/to/server",
            function(data) {
                if (data !== "-1") {
                    $("#progressSend").html("<p class=\"text-success\">Sent " + data + " emails</p>");
                    setTimeout(window.sendFunction, 500);
                } else {
                    $("#progressSend").hide();
                }

            });
    };
})

我在MVC控制器中的服务器端代码

int currentCount = SendMailingListSmtp.PollingCounter;
message = currentCount.ToString();

return Json(message, JsonRequestBehavior.AllowGet);

和我用来实际计算发送的电子邮件数量的代码,这是在foreach循环中,但是省略了。

int counter = 0;

using (var smtp = new SmtpClient()) {
    smtp.UseDefaultCredentials = false;
    var credential = new NetworkCredential {
        UserName = smtpUsername,
        Password = smtpPassword
    };
    smtp.Credentials = credential;
    smtp.Host = smtpHost;
    smtp.Port = Convert.ToInt32(smtpPort);
    //smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
    smtp.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory;
    smtp.PickupDirectoryLocation = "C:\\Users\\\\Desktop\\Customers\\\\PickUp\\";
    smtp.EnableSsl = false;                     
    smtp.Send(emailMessage);
    counter++;
    PollingCounter = counter;

}

0 个答案:

没有答案