إن asp.net routing مفهوم جديد في الدوت نت 4 ، رغم وجود بدايات له في الإصدار 3.5.1 ، وعند العمل على الخادم المحلي localhost ستعمل معاك هذه التقنية بدون أدنى مشاكل ، ولكن عند الرفع على الاستضافة ، ستجد ظهور مشكلة
404 – File or directory not found.
واجهتني هذه المشكلة في كل مرة أرفع مواقعي ، وقررت أن أضع الحل حتى لا يتغلب به إخوة مرة أخرى ، لانني في كل مرة ، كنت أفتح ملف الإعدادات القديم Web.Config وأنسخ ما وضعته مرة أخرى
الحل يكمن في التأكد من أن HTTP Redirection ، منصبة على خادم الاستضافة Hosting Server ، وهنا أغلبنا لا يملك الوصل إلى الخادم Server ، وإنما لديه لوحة تحكم عادية ، وغالبا ما تكون هذه الميزة مفعلة في الخادم، وإن أكملت باقي الخطوات ولم تنجح ، قم بمراسلة شركة الاستضافة لتفعلها لك
404 – File or directory not found.
واجهتني هذه المشكلة في كل مرة أرفع مواقعي ، وقررت أن أضع الحل حتى لا يتغلب به إخوة مرة أخرى ، لانني في كل مرة ، كنت أفتح ملف الإعدادات القديم Web.Config وأنسخ ما وضعته مرة أخرى
الحل يكمن في التأكد من أن HTTP Redirection ، منصبة على خادم الاستضافة Hosting Server ، وهنا أغلبنا لا يملك الوصل إلى الخادم Server ، وإنما لديه لوحة تحكم عادية ، وغالبا ما تكون هذه الميزة مفعلة في الخادم، وإن أكملت باقي الخطوات ولم تنجح ، قم بمراسلة شركة الاستضافة لتفعلها لك
الخطوة الثانية ، يتوجب عليك ن تكون بإضافة هذه الوسوم إلى ملف الإعدادات Web.config ، كالتالي
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="UrlRoutingModule"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</modules>
<handlers>
<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> </handlers>
</system.webServer>
أيضا لا تنسى من وجود المواصفة targetFramework="4.0" في وسم الإعدادات compilation بهذا الشكل
<compilation targetFramework="4.0" />
بإذن الله ستعمل معاك الأمور الآن بشكل تمام إذا كانت الشيفرة المكتوبة صحيحة ، أيضا في بعض الأحيان ، كان يتوجب علي أن أغير المزود من asp.net 4.0 classic إلى asp.net 4.0 Integrated pipeline