出于许可原因,我想以编程方式禁用网站,我想在httpmodule中执行此操作。
我试图重定向上下文:
public void Init(HttpApplication context)
{
context.Response.Redirect("http://vls.pete.videolibraryserver.com");
}
但我收到错误:
Response is not available in this context.
任何人都知道如何有效地禁用网站,最好将它们发送到自定义页面。
答案 0 :(得分:2)
您可以使用BeginRequest
事件进行重定向,如下所示:
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
application.Context.Response.Redirect("http://vls.pete.videolibraryserver.com");
}
答案 1 :(得分:0)
使用Server.Transfer
,因为如果自定义页面位于同一台计算机上,这将保存往返行程; HTTPModule BeginRequest should us Response.Redirect or Server.Transfer(这是我自己回答的问题 - 不是试图自我推销)
答案 2 :(得分:0)
关闭网站的更好方法可能是以编程方式将 App_Offline.htm 文件写入网站的根目录。引用Scott Guthrie's blog:
“app_offline.htm的工作原理是这样的 您将此文件放在。的根目录中 应用。当ASP.NET看到它时,它 将关闭应用程序域 应用程序(而不是重新启动它 请求)而是发回 app_offline.htm文件的内容 回应所有新的动态 请求申请。什么时候 你完成了更新网站 删除文件,它将返回 在线“。
答案 3 :(得分:0)
public void Init(HttpApplication context)
{
context.Response.Write("for licence visit this <a href=\"http://vls.pete.videolibraryserver.com\">link</a>");
context.Response.End();
}
您可以使用此代码