Я бы не рекомендовал редактировать / удалять рег. Обычно реестр - это беспорядок, с которым можно играть.
1118 Решение, которое мне помогает, довольно простое. Я только что добавил JIT-отладчик в Visual Studio. Шаги:
Открыть Windows Control panel
Programs
Programs and Features
Найти Visual Studio 2017
Change
. В открывшемся новом окне перейдите на вкладку Individual Components
Just-In-Time debugger
modify
После перезагрузки VS ошибка должна быть исправлена.
Я не уверен, есть ли корреляция, но после добавления файла robots.txt, исключающего мои действия при входе в систему, я больше не вижу этих ошибок. Я подозреваю, что это связано с тем, что поисковый робот попадает на страницу и пытается вызвать действие входа в систему.
РЕДАКТИРОВАТЬ : Я также видел эту проблему при получении старых файлов cookie после перезапуска пула приложений. Я прибег к настройке machineKey явным образом, чтобы изменения ключей проверки / дешифрования при перезапуске приложения не влияли на старые файлы cookie, которые могут быть повторно отправлены.
После обновления сайта и перехода на фиксированный ключ machineKey я обнаружил, что был все еще получаю эти ошибки от людей, у которых были файлы cookie из предыдущей версии. В качестве временной работы я добавил следующий обработчик Application_Error:
public void Application_Error()
{
var exception = Server.GetLastError().GetBaseException();
if (exception is System.Security.Cryptography.CryptographicException)
{
Server.ClearError();
if (Request.IsAuthenticated)
{
var form = new FormsAuthenticationWrapper();
form.SignOut();
Session.Clear();
}
Response.Cookies.Clear();
Response.Redirect( "~" );
}
}
I'm not so sure this has anything specifically to do with the antiforgery system, the inner exception states 'Validation of viewstate MAC failed.', from what I can tell, the default infrastructure for the antiforgery system has a dependency on the viewstate (actually if you take a look here you'll see see the dependency and horror (the CreateFormatterGenerator method at the bottom)).
As for why the viewstate mac is failing on the fake request, I'm not sure- but given the horror that exists in deserializing the antiforgery token (processing an entire fake request), it doesn't suprise me at all..