你好,
我有一个asp.net Web API。客户希望我添加一个有效的时间间隔(09:00-21:30)以便接受请求。假设某个请求是在08:00发出的,则该消息会被拒绝,并显示一条消息,指出允许在9:00 AM和21:30 PM之间进行请求。我打算按以下方式在global.asax中实现此逻辑,但是我不确定是否有更好的方法。
如果客户想更改时间间隔怎么办?我需要在代码库中更改它并将其部署到服务器。因此,我认为我需要将这些时间用于config的设置中。但是它仍然有成本,当我在配置上更改它时,IIS将重新启动对吗?因此,将这些时间保留在数据库中似乎是唯一的解决方案?您有什么建议?
我有一个asp.net Web API。客户希望我添加一个有效的时间间隔(09:00-21:30)以便接受请求。假设某个请求是在08:00发出的,则该消息会被拒绝,并显示一条消息,指出允许在9:00 AM和21:30 PM之间进行请求。我打算按以下方式在global.asax中实现此逻辑,但是我不确定是否有更好的方法。
C#:
ublic class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
protected void Application_BeginRequest()
{
if (CheckTime9To2130())
{
//do something
}
else
{
Response.StatusCode = 429;
Response.Write("Requests are permitted between 9:00 AM and 21:30 PM");
Response.End();
}
}
private bool CheckTime9To2130()
{
var h = DateTime.Now.TimeOfDay.Hours;
var m = DateTime.Now.TimeOfDay.Minutes;
if ((9 <= h && h <= 21) || (h == 21 && m <= 30))
{
return true;
}
return false;
}
}
如果客户想更改时间间隔怎么办?我需要在代码库中更改它并将其部署到服务器。因此,我认为我需要将这些时间用于config的设置中。但是它仍然有成本,当我在配置上更改它时,IIS将重新启动对吗?因此,将这些时间保留在数据库中似乎是唯一的解决方案?您有什么建议?