2013-08-27 5 views

答えて

7

これらは完全にステートレスなため、ページのクラスのインスタンスを作成せず、リクエスト(ViewStateやフォームフィールド値など)に何も渡されません。

HTTPはデフォルトでステートレスです。ASP.Netは、標準のページリクエスト中にViewState、Sessionなどでバックグラウンドで多くの処理を行い、開発者の生活を楽にします。

WebメソッドがAJAXを介して呼び出された場合、Webメソッドが遅すぎるため、要求状態を追跡するためにページに必要なすべてのフォームデータASP.Netが埋め込まれていません。多くの処理を行う必要がある場合は、専用のWebサービスに移動する必要があります。

HttpContext.CurrentHandlerを使用してページのメソッドにアクセスすることができます。詳細はhereで説明されています。また、必要に応じて現在のユーザーはHttpContext.Current.Userです。

これを詳しく説明する優れた記事hereがあります。

+2

混乱しています。この[page](https://msdn.microsoft.com/en-us/library/byxd99hx%28v=90.aspx)のWebメソッドが非静的なのはなぜですか? – Moon

+2

WebページではなくWebサービスでホストされているためです。 – Sean

関連する問題