У меня есть приложение ASP.NET 2.0, которое отлично работает в нашей локальной среде. При публикации на тестовом сервере на сервере возникают периодические ошибки.
Вот самые распространенные:
Заполнение недействительно и не может быть удалено.
Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении:
System.Security.Cryptography.CryptographicException:
Заполнение недопустимо и не может быть
удален.
Ошибка источника:
Создано необработанное исключение
во время исполнения текущего
веб-запрос. Информация относительно
Происхождение и место исключения
можно определить с помощью исключения
трассировка стека ниже.
Трассировка стека:
[CryptographicException: заполнение
недействителен и не может быть удален.]
System.Security.Cryptography.RijndaelManagedTransform.DecryptData (байт []
inputBuffer, Int32 inputOffset, Int32
inputCount, Byte [] & outputBuffer,
Int32 outputOffset, PaddingMode
paddingMode, Boolean fLast) + 1545747
System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock (байт []
inputBuffer, Int32 inputOffset, Int32
inputCount) + 257
System.Security.Cryptography.CryptoStream.FlushFinalBlock ()
+30 System.Web.Configuration.MachineKeySection.EncryptOrDecryptData (Boolean
fEncrypt, Byte [] buf, Byte [] модификатор,
Начало Int32, длина Int32, логическое значение
useValidationSymAlgo) + 164
System.Web.UI.Page.DecryptString (String
с) + 83
System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest (HttpContext
контекст) + 148
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute ()
+358 System.Web.HttpApplication.ExecuteStep (IExecutionStep
шаг, логическое и завершено синхронно)
+ 64
Это происходит по запросу к конкретному запросу WebResource.axd.
Другая ошибка, которую мы видим, это:
Не удалось проверить MAC состояния состояния.
Если это приложение размещено в Интернете
Ферма или кластер, убедитесь, что
конфигурация указывает
тот же validationKey и validation
алгоритм. Автогенерация не может быть использована
в кластере. Описание: An
необработанное исключение произошло во время
выполнение текущей сети
запрос. Пожалуйста, просмотрите трассировку стека
для получения дополнительной информации об ошибке
и откуда оно взято в коде.
Сведения об исключении:
System.Web.HttpException: проверка
из MAC состояния представления не удалось. Если это
приложение размещается на веб-ферме или
кластер, убедитесь, что
конфигурация определяет то же самое
validationKey и validation
алгоритм. Автогенерация не может быть использована
в кластере.
Эта ошибка иногда возникает при отправке формы.
Теперь, прежде чем прыгнуть и сказать мне очевидный (обычный) ответ на эту ошибку, подумайте:
- Приложение развернуто в Windows Server 2003 на IIS6
- Это НЕ на веб-ферме. Здесь используется только один веб-сервер.
- Удостоверение пула приложений является настраиваемой учетной записью службы, и я выполнил
aspnet_regiss -ga <username>
на сервере. Без эффекта.