я создаю веб-приложение, в котором мне нужно уволить веб-службу каждые 12/24 часовогонь веб-сервис, через каждые 12 часов C#
здесь моя хранимая процедура
alter proc TMSautomail
@datefrm datetime,
@dateto datetime
as
begin
select email,UserName from tblUser where
UserName not in(select UserName from userlogin
where date between @datefrm and @dateto)
end
я получать электронный идентификатор здесь
[WebMethod]
public void fireautomail()
{
string email = "";
string empname = "";
DateTime datefrm = DateTime.Today;
DateTime dateto = DateTime.Today.AddDays(1);
MailMessage msg = new MailMessage();
string mailfrom = "testemail";
cmd = new SqlCommand("TMSautomail");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
con.Open();
cmd.Parameters.AddWithValue("@datefrm",datefrm);
cmd.Parameters.AddWithValue("@dateto", dateto);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
for(int i=0; i<ds.Tables[0].Rows.Count;i++)
{
empname = ds.Tables[0].Rows[i][1].ToString();
email = ds.Tables[0].Rows[i][1].ToString();
}
if (email != "" && email.Length != 0 && email != "NULL")
{
msg.From = new MailAddress(mailfrom);
string subject = "Login Details";
msg.Subject = subject.ToString();
msg.IsBodyHtml = true;
var password = "testpassword";
msg.Body = "<b style='color:red'>Dear " + empname + "</b><br /><br />"
+ "You Forget To Logged In Today<br/>"
+ " You May Miss Important Task's <br/>"
+ " Login To Be Updated <br/>"
+ "Regards<br/>"
+ "Team DES.";
SmtpClient sc = new SmtpClient("smtp.gmail.com");
sc.Port = 587;
sc.Credentials = new NetworkCredential(mailfrom, password.ToString());
sc.EnableSsl = true;
sc.Send(msg);
string edetails = "";
edetails = edetails + " " + "success";
}
}
и это мой метод веб-сервис,
здесь у меня есть дата TOD ау и завтра, который будет проверять и извлекать данные из StoredProcedure, но проблема в том,
я хочу стрелять этот веб-сервис периодически как ежедневно в 6 часов вечера и 10 утра
то, что мне нужно делать в этой сети оказание услуг?
Вы можете сделать сервис Windows, а затем использовать планировщик задач Windows, чтобы называть его соответствующим образом. – Izzy
Можете ли вы показать мне код? –
В качестве альтернативы SQL Server имеет планировщик задач (Агент) и может отправлять электронную почту (sp_send_dbmail). Если вы не хотите этого делать, самый простой способ вызвать fireautomail() - использовать планировщик задач Windows для запуска .bat-файла, который вызывает URL-адрес с curl. –