- - PR -
2003サーバにおけるワーカースレッド増加について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-02-10 16:55
いつも勉強させて頂いております。
現在、2000サーバ上で動いているASP.NETで作成したWebアプリケーションを 2003サーバで動かそうとしたところ、ワーカースレッド数を「1」に設定した 状態では問題なく動くのですが、ワーカースレッド数を「4」に設定すると エラーが発生しました。 エラー内容は下記になります。 当初ViewStateのエラーが発生しておりましたが、EnableViewState="false"等の 設定をしたところ下記のようなエラー内容に変わりました。 このようなエラーを回避する方法ご存知の方いらっしゃいましたら、 ご教授お願いします。 よろしくお願いします。 _______________________________________ データを検証できません。 説明 : 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。 例外の詳細: System.Web.HttpException: データを検証できません。 ソース エラー: 現在の Web 要求の実行中にハンドルされていない例外が生成されました。障害の原因および発生場所に関する情報については、下の例外スタック トレースを使って確認できます。 スタック トレース: [HttpException (0x80004005): データを検証できません。] System.Web.Configuration.MachineKey.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) +196 System.Web.UI.LosFormatter.Deserialize(String input) +60 [HttpException (0x80004005): Authentication of viewstate failed. 1) If this is a cluster, edit <machineKey> configuration so all servers use the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster. 2) Viewstate can only be posted back to the same page. 3) The viewstate for this page might be corrupted.] System.Web.UI.LosFormatter.Deserialize(String input) +118 System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +102 _______________________________________ | ||||
|
投稿日時: 2005-02-10 18:25
アプリケーションプールの最大ワーカープロセス数ですよね?
ViewStateを復元するときに失敗しているようですね。ワーカープロセスが違ったらAutoGenerateはできないのかな? machineKeyのvalidationKeyを明示的に指定してみるとどうなります? | ||||
|
投稿日時: 2005-02-10 20:47
ya様ご返答ありがとうございます。
やはりmachineKeyを設定した方が良いようですね。 自分でも調べた結果Webconfigの <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="true" timeout="0" /> で、InProcでは複数のワーカースレッドには対応できないところまで 解りましたので、ひょっとしたらここら辺の設定でセッション情報を 使用しないような設定にできないものかと思いました。 現在のWebアプリはセッション情報を使用していないので、その方が ありがたいのですが・・・ cookieless="true" にしてもだめでした。 そこら辺のこと知ってる方いらっしゃいましたらご教授ください。 よろしくお願いします。 | ||||
|
投稿日時: 2005-02-10 22:46
ViewStateもSessionStateを使わないアプリでともに使用させなければmachineKeyをいじらなくてもいいかもしれないということですか。
sessionStateに関しては <sessionState mode="Off" /> でどうでしょうか。 | ||||
|
投稿日時: 2005-02-14 15:12
ya様ご返答ありがとうございます。
上記設定でも理由は解りませんがダメでしたので、 machine.configにmachineKeyに計算したhash値を 設定し、動作を確認しました。 やはりこの方法しかないようですね。 色々とご教授ありがとうございました。 |
1