هل من المستحيل توجيه عنوان url الحالي باستخدام Asp.net Routing؟

StackOverflow https://stackoverflow.com/questions/1006318

  •  06-07-2019
  •  | 
  •  

سؤال

من سؤالي الأخير, ، لقد وجدت أن توجيه Asp.net لا يمكنه التوجيه باستخدام عنوان url الموجود لمزيد من المعلومات اقرا هذا.

كيفية إعادة توجيه عنوان URL الحالي إلى عنوان URL آخر باستخدام Asp.net Routing؟

تَلمِيح!

أعتقد أن هذا السلوك مثل سلوك رفض الوصول الذي يعيد التوجيه دائمًا إلى صفحة تسجيل الدخول الافتراضية.

شكرًا،

هل كانت مفيدة؟

المحلول 2

لقد وجدت الحل.إنه أمر سهل للغاية باستخدام HttpModule.يرجى إلقاء نظرة على رمز المثال التالي الخاص بي.

في web.config العالمية

<configuration>
    <system.web>
        <httpModules>
            <add name="RedirectModule" type="MySolution.RedirectModule, MySolution" />
        </httpModules>
    </system.web>
    <!-- The following code will be used by IIS 7+ -->
    <system.webServer>
        <modules runAllManagedModulesForAllRequests="true">
            <remove name="RedirectModule" />
            <add name="RedirectModule" type="MySolution.RedirectModule MySolution" />
        </modules>
    </system.webServer>
</configuration>

في MySolution/RedirectModule.cs

using System;
using System.Web;

namespace MySolution
{
    public class RedirectModule : IHttpModule
    {
        #region IHttpModule Members

        public void Init(HttpApplication context)
        {
            context.BeginRequest += new EventHandler(HttpApplication_BeginRequest);
        }

        public void Dispose() {}

        #endregion

        void HttpApplication_BeginRequest(object sender, EventArgs e)
        {
            HttpApplication app = sender as HttpApplication;

            if (*[logic for checking before redirect]*)
            {
                app.Response.Redirect(*[url]*);
            }
        }
    }
}

لمزيد من المعلومات، يرجى إلقاء نظرة على كود مصدر Url Mapping مثل UrlRewritingNet.UrlRewrite.

ملاحظة.IHttpModule هي واجهة قوية جدًا.يمكنه التعامل مع كل نوع طلب.لذلك، يمكن أن يساعدني في حل هذا السؤال بشكل كامل.

نصائح أخرى

يجب عليك التأكد من "العثور" على عنوان url -الموجود/"المطابق" في جدول التوجيه، وأن عنوان url الذي تعيد التوجيه إليه ليس كذلك....(ما لم تكن تقوم بإعادة التوجيه إلى إجراء/مسار وحدة التحكم)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top