איך נוכל להפנות פניות מאתר ישן לאתר חדש?

lea zaks#C, NET.Leave a Comment

במקרה שאתר מוחלף באתר חדש. נרצה למנוע מצב שמשתמשים ששמרו לינקים של האתר הישן יקבלו מסך שגיאה.

ניתן לבצע זאת באמצעות HttpModule.
אנו יוצרים class שיורש מ IHttpModule, במתודה Init אנו מוספים אירוע של begin ל application שממנו הגענו ובמתודה OnBeginRequest אנו מצבעים redirect:

namespace UrlRedirect
{
public class UrlRedirectHttpModule : IHttpModule
    {
        public void Dispose()
        {
        }
 
        // Add event handlers to the HttpApplication.
        public void Init(HttpApplication httpApp)
        {
            httpApp.BeginRequest += new EventHandler(OnBeginRequest);
        }
 
        // Record the time of the begin request event.
        public void OnBeginRequest(Object sender, EventArgs e)
        {
          context.Response.Redirect("http://wise-software.net/");
        }
     }
}

לאחר מכן אורזים את הקוד כ DLL ושמים אותו ב GAC של השרת (של האתר הישן).
כדי שהאתר הישן ידע להשתמש ב DLL החדש, אנו צריכים להוסיף כניסות בקונפיג שלו, בצורה כזו:

    <httpModules>
      <add name="MyHttpModule" type="UrlRedirect.UrlRedirectHttpModule, UrlRedirect, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0e00ee80dad30c06" />            
    </httpModules>

    <modules>
       <remove name="MyHttpModule"/>
      <add name="MyHttpModule" type="UrlRedirect.UrlRedirectHttpModule, UrlRedirect, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0e00ee80dad30c06" />            
    </modules>
 

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *