0

Web サイトを Web フォームから MVC に変換しています。Web サイトには、スレッドを使用して他の Web サービスを呼び出すページがあります。そのページの読み込みには 5 ~ 7 秒かかります。そのページの読み込み中に、同じ Web サイトの他のページを開こうとすると、機能しなくなります。新しいタブで他のページを開くと、最初のページの読み込み (5 ~ 7 秒) が完了するまで読み込みが続きます。以前は Web フォームで機能していました。

これを修正するために調べることができる特定の場所はありますか、それとも私のアプリケーション固有のものですか?

4

1 に答える 1

1

問題の説明を見ると、ASP.NET セッションが思い浮かびます。サイトでそれを使用している場合、同じセッションからセッションに書き込むコントローラー アクションに 2 つの並列リクエストを送信することはできません。ASP.NET は、セッションへのアクセスを単純にシリアル化し、最初の要求が完了するまでブロックします。これを修正する 1 つの方法は、セッションを完全に無効にするか、呼び出しているコントローラーから書き込みを行わないようにすることです。[SessionState]これは、このコントローラーを次の属性で装飾することで実行できます。

[SessionState(SessionStateBehavior.ReadOnly)]
public class HomeController : Controller
{
    ... actions in this controller can be invoked 
        in parallel from the same session
}
于 2012-08-18T07:04:39.997 に答える