我应该在 IHttpModule 中使用什么事件来禁用网站?

发布于 2024-10-06 04:40:14 字数 338 浏览 0 评论 0原文

出于许可原因,我想以编程方式禁用网站,并且我想在 httpmodule 中执行此操作。

我尝试重定向上下文:

public void Init(HttpApplication context)
{
    context.Response.Redirect("http://vls.pete.videolibraryserver.com");
}

但我收到错误:

Response is not available in this context.

任何人都知道如何有效禁用该网站并最好将它们发送到自定义页面。

I want to disable a website programatically for licensing reasons, and I want to do it in a httpmodule.

Ive tried to redirect the context :

public void Init(HttpApplication context)
{
    context.Response.Redirect("http://vls.pete.videolibraryserver.com");
}

But I get the error:

Response is not available in this context.

Anybody know how I can effectively disable the website and preferably send them to a custom page.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

甩你一脸翔 2024-10-13 04:40:14

您可以使用 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");
}

you can use BeginRequest event for redirection, like following:

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");
}
窗影残 2024-10-13 04:40:14

使用 Server.Transfer,因为如果自定义页面位于同一台计算机上,这将节省往返时间; HTTPModule BeginRequest 应该使用 Response.Redirect 或 Server.Transfer(这是我自己回答的问题 - 不是为了自我推销)

Use Server.Transfer as this will save a round trip provided the custom page is on the same machine; HTTPModule BeginRequest should us Response.Redirect or Server.Transfer (this is my own question I answered - not trying to be self promoting)

蘑菇王子 2024-10-13 04:40:14

也许关闭网站的更好方法是以编程方式将 App_Offline.htm 文件写入网站的根目录。引用 Scott Guthrie 的博客

“app_offline.htm 的工作方式是
你把这个文件放在根目录下
应用。当 ASP.NET 看到它时,它
将关闭应用程序域
应用程序(并且不重新启动它
请求),而是发回
app_offline.htm 文件的内容
响应一切新动态
申请的请求。什么时候
您已完成网站更新,只需
删除该文件,它会回来
在线。”

Perhaps a better way to close the site would be to programmatically write out an App_Offline.htm file to the root of the website. To quote from Scott Guthrie's blog:

"The way app_offline.htm works is that
you place this file in the root of the
application. When ASP.NET sees it, it
will shut-down the app-domain for the
application (and not restart it for
requests) and instead send back the
contents of the app_offline.htm file
in response to all new dynamic
requests for the application. When
you are done updating the site, just
delete the file and it will come back
online."

吻安 2024-10-13 04:40:14
public void Init(HttpApplication context)
{

    context.Response.Write("for licence visit this <a href=\"http://vls.pete.videolibraryserver.com\">link</a>");
    context.Response.End();

}

你可以使用这个代码

public void Init(HttpApplication context)
{

    context.Response.Write("for licence visit this <a href=\"http://vls.pete.videolibraryserver.com\">link</a>");
    context.Response.End();

}

you can use this code

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文