我在玩DotNetOpenAuth示例,試圖瞭解如何正確地與OpenID集成。其中一個示例稱爲OpenIdRelyingPartyMvc。它有兩個代碼段,我不確定它們如何影響功能。DotNetOpenAuth和X-XRDS-位置標題
在Global.asax.cs中:
routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = string.Empty }); // Parameter defaults routes.MapRoute( "Root", string.Empty, new { controller = "Home", action = "Index", id = string.Empty });
如果我刪除映射 「路由」 最後一行,似乎沒有任何影響:映射 「默認」 似乎是足夠的。爲什麼會有「路線」路線?
在HomeController.cs
public class HomeController : Controller { public ActionResult Index() { Response.AppendHeader( "X-XRDS-Location", new Uri(Request.Url, Response.ApplyAppPathModifier("~/Home/xrds")).AbsoluteUri); return View("Index"); } public ActionResult Xrds() { return View("Xrds"); } }
如果我刪除 「AppendHeader」 呼叫和測試樣品,它仍然有效!我明白這個頭文件是足夠的,我不能讓示例應用程序依賴它:它在沒有被設置的情況下工作。如果我在Xrds方法中設置斷點,它永遠不會被觸發。
謝謝安德魯,我期待着你的答案:-)現在對我來說很清楚。 –