У меня есть приложение ASP.NET 2.0, которое отлично работает в нашей локальной среде. При публикации на тестовом сервере мы получаем прерывистые ошибки на сервере.
Здесь наиболее распространены:
Заполнение недопустимо и не может быть удалено. Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека, чтобы получить дополнительную информацию об ошибке и где она возникла в коде.
Сведения об исключении: System.Security.Cryptography.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 start, Int32 length, Boolean использованиеValidationSymAlgo) +164
System.Web.UI.Page.DecryptString(String s) +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 step, Boolean & completedSynchronously) +64
Это происходит при запросе к определенному запросу WebResource.axd.
Другая ошибка, которую мы видим, следующая:
Не удалось выполнить проверку MAC-адреса viewstate. Если это приложение размещено в Интернете Ферма или кластер, убедитесь, что настройка конфигурации тот же валидационный ключ и проверка алгоритм. AutoGenerate не может использоваться в кластере. Описание: необработанное исключение произошло во время выполнение текущей сети запрос. Просмотрите трассировку стека для получения дополнительной информации об ошибке и где он возник в коде.
Сведения об исключении: System.Web.HttpException: проверка MAC-адреса viewstate. Если это приложение размещено веб-фермой или кластера, убедитесь, что конфигурации validationKey и проверка алгоритм. AutoGenerate не может использоваться в кластере.
Эта ошибка иногда возникает при отправке формы.
Теперь перед тем, как вы вскочите и скажете мне очевидный (обычный) ответ на эту ошибку, рассмотрите это:
- Приложение развертывается в Windows Server 2003 на IIS6
- Это НЕ на веб-ферме. Здесь используется только один веб-сервер.
- Идентификатор пула приложений - это пользовательская учетная запись службы, и я выполнял
aspnet_regiss -ga <username>
на сервере. Нет эффекта.