Ошибка проверки Viewstate

Я знаю, почему у меня возникает эта ошибка, и знаю, как ее исправить, но мне нужно задать несколько вопросов, которые я не смог найти, выполнив поиск в Интернете.

Наше приложение находится в веб-ферме и намеревалось изменить validationKey с AutoGenerate, IsolateApps на определенное значение ключа, созданное вручную.

Однако в качестве образца (я проверил свой локальный компьютер, а не фактический файл server machine.config, поскольку у меня нет к нему доступа). Все, что я вижу в моем локальном файле machine.config, - это настройка, подобная приведенной ниже:

<section name="machineKey" type="System.Web.Configuration.MachineKeySection, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
allowDefinition="MachineToApplication"/>

Чтобы, возможно, обновить его, я ожидал увидеть что-то вроде ниже:

<machineKey validationKey="AutoGenerate,IsolateApps"  
            decryptionKey="AutoGenerate,IsolateApps" 
            validation="SHA1" decryption="Auto" />

Почему я не вижу этого на своей локальной машине. Или, если он отличается на сервере (как указано выше), если я изменю настройку на ручной ключ, это повлияет на другие приложения, работающие на веб-ферме? Если да, то есть ли конкретное время, чтобы его изменить?

Если я откажусь от этого и решу обновить файл web.config вместо этого приложения, все, что мне нужно сделать, это просто обновить тот конкретный файл web.config, в котором находится приложение. Верно?


person sagesky36    schedule 22.01.2014    source источник


Ответы (1)


Да, просто обновите Web.config для конкретного приложения и убедитесь, что Web.config развернут в папке приложения на всех машинах фермы. Это не повлияет на другие приложения, работающие на этих машинах.

Если вам нужна помощь в создании элемента ‹machineKey›, см. http://support.microsoft.com/kb/2915218 (Причина 1 и Приложение A).

person Levi    schedule 22.01.2014
comment
Леви, большое спасибо за ответ. Я понимаю по большей части, за исключением следующего отрывка: убедитесь, что Web.config развернут в папке приложения на всех машинах в ферме. Я предполагал просто обновить файл web.config для этого конкретного приложения и покончить с этим. Похоже, мне нужно скопировать файл web.config на другие машины в этой ферме. У меня нет опыта работы с веб-фермой; просто память InProcess. Извините за мое незнание этого конкретного предмета, но не могли бы вы сказать немного больше о том, что мне нужно сделать, основываясь на этом предложении? - person sagesky36; 23.01.2014
comment
Обновление Web.config вашего приложения аналогично внесению изменений в любой другой файл (например, .aspx) в вашем приложении. Вы отметили, что ваше приложение уже развернуто в ферме; просто следуйте тем шагам, которые вы сделали для развертывания исходного приложения, и изменения Web.config будут приняты автоматически. - person Levi; 23.01.2014