я нашел свойство SuppressFormsAuthenticationRedirect
на this post, но когда я пытался использовать его:Почему SuppressFormsAuthenticationRedirect вызывает ошибку сборки?
Response.StatusCode = (int)HttpStatusCode.Unauthorized;
Response.SuppressFormsAuthenticationRedirect = true;
Я получаю ошибку компиляции:
Error 53 'System.Web.HttpResponseBase' does not contain a definition for 'SuppressFormsAuthenticationRedirect' and no extension method 'SuppressFormsAuthenticationRedirect' accepting a first argument of type 'System.Web.HttpResponseBase' could be found (are you missing a using directive or an assembly reference?) Controllers\ErrorController.cs 39 26 Roving
Так что я бросил в контрольной точке, осмотрены Response
в часах и обнаружил, что он действительно обладает свойством. Поэтому я попытался установить его в ближайшее время с Response.SuppressFormsAuthenticationRedirect = true
, который не вызвал ошибку, и он работал, как ожидалось. Так почему же это ошибка сборки? Я сделал это, просто для удовольствия, и обнаружили, что он работал, как и ожидалось (но это довольно Hacky):
Response.StatusCode = (int)HttpStatusCode.Unauthorized;
((dynamic)Response).SuppressFormsAuthenticationRedirect = true;
Установлен ли ваш проект против .Net 4, в отличие от .Net 4.5? –
Во-вторых, как вы можете достичь части Debug, если ваше приложение не будет компилировать/строить в первую очередь? –
@AmithGeorge Да, я действительно видел на [этой странице] (http://msdn.microsoft.com/en-us/library/system.web.httpresponse.suppressformsauthenticationredirect.aspx), что он поддерживается только в версии 4.5 , но тогда почему бы свойство было там и доступно во время выполнения? – xdumaine