2012-01-04 10 views
3

Webアプリケーションでは、これらのエラーが毎日スローされています。Base64文字列の無効な文字 - ViewState?

Exception: System.FormatException: Invalid character in a Base-64 string. 
    at System.Convert.FromBase64String(String s) 
    at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) 
    at System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) 
    at System.Web.UI.HiddenFieldPageStatePersister.Load() 

エラーはViewStateのデコードから来ていると思いますが、エラーが発生したばかりです。私はdevでエラーを引き起こすことはできませんでした。それでも、私は簡単にエラーを再現することはできません。ページ上のデータビューにはいくつかのフィルタがあり、異なる値を選択すると最終的にエラーがスローされますが、どのパターンでもわかりません。いつかフィルターを交換するのは初めてです。時には組み合わせもありません。

+0

投稿されたときにViewStateに絡みついているかもしれないプロキシ/ファイアウォールですか? – vcsjones

+0

セキュリティの例外をスローしませんか? –

+0

あまりにも毎日、私たちはそれを一握り持っています。私はハッカーがあなたのサーバで何かを壊すような奇妙なことをしようとしていると思います。 –

答えて

0

それは以下の理由のいずれかになります。私が使用する最初のものとして

  • アプリケーションプールのリサイクル
  • サーバーファームまたはサーバークラスタ
  • プロキシサーバーとウイルススキャナ

machine.config内の特定のキーを使用して、各プロセスの自動キー生成を防止します。

+0

この変更を行う前に、サーバー管理者からの返信を待っています。サーバーはステージングサーバーですが、ホストする一部のアプリケーションのプロダクションとして使用されます。私が変更を行い、それが動作するかどうかを確認するとすぐに私は戻ってきます。 – virtuesplea

+0

このサーバーはサーバーファームの一部であり、重要なWebアプリケーションをホストするために使用されます。ただし、ステージングサーバーとしています。特定のキーを使用すると、サーバーファームの一部であるため、このWebアプリケーションや他のWebアプリケーションに悪影響を与える可能性はありませんか?他のすべてのサイトがこのサーバーから実行されているため、マシンレベルの変更を行うのは少し不快です。 – virtuesplea

+0

同じサーバーファームに属するすべてのボックスで同じキーを使用する場合 –