У меня есть метод ASP.NET, который извлекает данные пользователя из базы данных и создает учетные данные для пользователей для веб-приложения, которое я создаю.Выполнение блока кода на месте за кулисами с регулярными интервалами времени
var userDataList = new List<UserInfo>();
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
try
{
//open SQL connection
conn.Open();
SqlCommand getSumOfHours = new SqlCommand("SELECT LoginName, Email FROM [User] WHERE Deleted IS NULL", conn);
//execute command and retrieve primary key from the above insert and assign to variable
SqlDataReader reader = getSumOfHours.ExecuteReader();
while (reader.Read())
{
userDataList.Add(new UserInfo
{
userName = reader.GetString(0),
email = reader.GetString(1)
});
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.Write(ex.ToString());
}
finally
{
conn.Close();
}
foreach (var item in userDataList)
{
//System.Diagnostics.Debug.WriteLine(item.userName + " " + item.email);
if (!(Roles.RoleExists("user")))
{
Roles.CreateRole("user");
}
if (Membership.GetUser(item.userName) == null)
{
Membership.CreateUser(item.userName, "password", item.email);
Roles.AddUserToRole(item.userName, "user");
}
}
}
public class UserInfo
{
public string userName { get; set; }
public string email { get; set; }
}
Это прекрасно работает, но в настоящее время я выполняю его, нажав кнопку на странице. Это не идеально, потому что кто-то должен помнить, чтобы нажать кнопку для ее выполнения. Возможно ли, пока сайт живет на сервере, чтобы сайт выполнял этот блок кода за кулисами каждые несколько часов?
Установите его как консольное приложение и настройте SQL-задание или задачу Windows. –