2016-08-02 18 views
1

Hallo ich möchte die Seitenumleitung in Webconfig programmgesteuert ändern. Ich habe folgenden Code in Web-Konfiguration.Programmatisches Ändern der Seitenumleitung in der Webkonfiguration

<location path="WebForm2.aspx"> 
    <system.webServer> 
     <httpRedirect enabled="true" destination="http://google.com" httpResponseStatus="Permanent" /> 
    </system.webServer> 
    </location> 

ich möchte die httpredirect programmgesteuert mit C# aktivieren oder deaktivieren. bitte schlagen Sie mir vor, wie man das macht.

+0

haben Sie dieses http überprüft://stackoverflow.com/questions/270287/editing-web-config-programatically – Rahul

Antwort

0

Ich habe den von Rahul vorgeschlagenen Code ausprobiert, aber ich war nicht in der Lage, das <location> Element der Web.config programmatisch zu ändern.

Als Alternative könnten Sie einen Httphandler schreiben die Anfrage an die WebForm2.aspx Seite abzufangen und den Benutzer auf eine andere URL umleiten:

Handler:

namespace StackOverflowHelp 
{ 
    public class RedirectHandler : IHttpHandler 
    { 
     public bool IsReusable 
     { 
      get { return true; } 
     } 

     public void ProcessRequest(HttpContext context) 
     { 
      Uri uri = context.Request.Url; 

      if (uri.AbsolutePath == "/WebForm2.aspx.aspx") 
       context.Response.Redirect("http://google.com"); 
     } 
    } 
} 

Handler Registrierung im Web. config:

<system.webServer> 
    <handlers> 
     <add verb="*" path="WebForm2.aspx" 
     name="RedirectHandler" 
     type="StackOverflowHelp.RedirectHandler"/> 
    </handlers> 
+0

Sir ich möchte den Pfad in in webconfig zur Laufzeit ändern oder ändern Sie die httpRedirect Aktivierung oder Deaktivierung zur Laufzeit. Ich möchte die Seite nicht aus dem Code umleiten, sondern nur aus webconfig. Ich setze keinen Umleitungscode in die Seitenquelle. Zum Ändern des Webcofig verwende ich eine andere Seite, nicht die selbe Seite, auf die ich weiterleite. –

Verwandte Themen