[Web API] 如何使用Route Debugger對Routing偵錯

   今天在測試Web Routing的設定時,感覺大海撈針…..找不出錯誤到底在哪?幸好MSDN剛好有篇文章在寫這個,順便記錄一下以免日後忘了..。

1.從Nuget加入 WebApiRouteDebugger

PM> Install-Package WebApiRouteDebugger

2.裝完後須調整設定

瀏覽 :http://localhostxxx/rd,會出錯下圖組件錯誤

image
由於此組件參考的是MVC 4,而目前用的是MVC 5,所以須透過Binding Redirect升到3.0,找到runtime區段加入WebPage.Razor設定,如下
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
     ...
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
   ...
    </assemblyBinding>
  </runtime>

3.測試Routing

設定完再次瀏覽http://localhostxxx/rd ,畫面如下,可以選擇你要測試的行為及Url

image

送出後,會告知你回傳的Http狀態及對應到哪一個Routing 設定

image
這樣是不是方便你在測試時,知道是哪邊的規則出問題^^

參考來源

http://blogs.msdn.com/b/webdev/archive/2013/04/04/debugging-asp-net-web-api-with-route-debugger.aspx

這個網誌中的熱門文章

IIS 設定只允許特定IP進入