Я играю с примерами DotNetOpenAuth, пытаясь понять, как правильно интегрироваться с OpenID.Один из примеров называется OpenIdRelyingPartyMvc.У него есть две секции кода, в которых я не уверен, как они влияют на функциональность.
В 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, она никогда не срабатывает.