ASP.NETWebサービスプロジェクトがあります。現在の時刻が00:00から01:00の間にある場合は、このサービスのすべてのメソッドを「オフ」(voidまたはnullを返す)にする必要があります。それを行うための最良の方法は何ですか?global.asaxファイルである可能性がありますか?
質問する
836 次
1 に答える
2
Global.asax、Application_BeginRequestでこれを行うことができます。それがウェブサービスであるかどうかを確認し、許可されていない場合は、それをカットします。
protected void Application_BeginRequest(Object sender, EventArgs e)
{
string cTheFile = HttpContext.Current.Request.Path;
string sExtentionOfThisFile = System.IO.Path.GetExtension(cTheFile);
// here you can check what file you wish to cut, ether by file, ether by extention
if (sExtentionOfThisFile.Equals(".asmx", StringComparison.InvariantCultureIgnoreCase))
{
// and here is the time limit.
if(DateTime.UtcNow.Hour >= 0 && DateTime.UtcNow.Hour <= 1)
{
HttpContext.Current.Response.TrySkipIisCustomErrors = true;
HttpContext.Current.Response.StatusCode = 403;
HttpContext.Current.Response.End();
return ;
}
}
}
于 2012-10-08T08:32:52.127 に答える