「You do not have permission to view this directory or page using the credentials that you supplied.」
它除了「權限限制存取」的意思外,通常另一個最有趣的解讀,就是「讀不到頁面」。
筆者要介紹小問題處理狀況,就是在開發者透過Nuget更新套件時,產生的問題之一處理。
這個問題的產生原因,是在開發者更新System.Web.Mvc這套件時,依賴性的套件如System.Web.Routing,會在更新完之後,重新設定RouteConfig.cs底下RegisterRoutes函數。
但初學者不容易察覺,所以許多人更新完套件後,會有默名的疑問「程式碼沒有更動,但為什麼無法正常的執行?」,其實Nuget已經偷偷的在原始結構上悄稍的改變了Function的陳述結構。因為它的初始它是最原生的結構,並不是專給MVC的架構。所以它的程式碼會長這個樣子:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Routing;
using Microsoft.AspNet.FriendlyUrls;
namespace ManiaControlPanel
{
public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
}
}
}
這時候我們就要手動去更改它的結構設定,程式碼如下:
using System.Web.Mvc;
using System.Web.Routing;
namespace ManiaControlPanel
{
public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
}
這樣就可以正常的運作了,這類型的問題是比較不容易察覺,筆者在這分享。
-雲遊山水為知已逍遙一生而忘齡- 電腦神手
沒有留言:
張貼留言