2010-12-03 24 views
0

Je veux désactiver un site Web par programmation pour des raisons de licence, et je veux le faire dans un httpmodule.Quel événement dois-je utiliser dans IHttpModule pour désactiver le site Web?

Ive a essayé de rediriger le contexte:

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

Mais je reçois l'erreur:

Response is not available in this context. 

Tout le monde sait comment je peux désactiver efficacement le site Web et les envoyer de préférence à une page personnalisée.

Répondre

2

vous pouvez utiliser l'événement BeginRequest pour la redirection, comme suit:

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"); 
} 
0

Peut-être une meilleure façon de fermer le site serait d'écrire un programme sur App_Offline.htm fichier à la racine du site. Pour citer 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."

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(); 

} 

vous pouvez utiliser ce code