У меня есть 2 сайта MVC3 Razor, над которыми я работаю, и оба сайта используют IIS6.5 (который, я надеюсь, является причиной этой проблемы).Оба из них я использовал естественные способности класса для вызова методов для настройки и объекта, а затем перенаправления на другое действие.пример:
public ActionResult ApprovePlan(decimal id)
{
PPS_PLAN_TBL.ApprovePlan(id, UserId);
PPS_PLAN_TBL ppsPlanTbl = db.PPS_PLAN_TBL.Single(p =>
p.PpsPlanIdentifier == id
);
EMPLEE_TBL executive = dbEmployees.EMPLEE_TBL.Single(n =>
n.EmployeeUserIdentifier == ppsPlanTbl.ExecutiveUserIdentifier
&& n.PayPeriodIdentifier == CurrentPayPeriod
);
EMPLEE_TBL ro = dbEmployees.EMPLEE_TBL.Single(n =>
n.EmployeeUserIdentifier == ppsPlanTbl.RatingOfficialUserIdentifier
&& n.PayPeriodIdentifier == CurrentPayPeriod
);
return RedirectToAction("Index");
}
Как видите, он получает Id и устанавливает запись для утверждения.Он вызывается с помощью ссылки на странице индекса:
<a href='@Url.Action("ApprovePlan", "PerformancePlanSystem", new { Id = item.PpsPlanIdentifier })' title="Approve Plan"><img src="@Url.Content("~/Content/images/thumbsup.png")" alt="Approve Plan" height="16" width="16" /></a>
Проблема во всех этих случаях заключается в том, что при первом вызове он срабатывает в первый раз, но все последующие вызовы фактически направляются в пункт назначениядействие, как если бы контроллер знал конечный пункт назначения, игнорирует действие (оно не будет поймано с точкой останова) и переходит непосредственно к этому действию.Это довольно раздражает, и я не могу понять, почему он это делает.Я знаю, что это связано с сеансом, потому что, если я закрою свой браузер и снова открою его, ссылка снова заработает. 1 раз.Я думаю, что я мог бы исправить это, прикрепив реальное представление (.cshtml) ко всем моим действиям, но это было бы больно, потому что они ничего не делали, и для соответствия 508 я был бы вынужден иметь своеобразное приложение.
Я сомневаюсь, что кто-то за пределами MS может объяснить это поведение, но по крайней мере мне интересно, если кто-то еще видит это, поскольку у меня это происходит на 3 разных серверах в 2 разных средах, работающих под управлением 2 разных приложений.