1

最近のStackoverflow ポッドキャスト (#59)で、Jeff Atwood は、Stackoverflow には「共有状態」があると述べています。共有状態の一般的な考え方は理解できますが、Stackoverflow などの ASP.NET MVC アプリケーションのコンテキストにおける共有状態とは正確には何ですか?

具体的には、次のことを知りたいです。

  1. それはどのように見えますか?荒野でどうやって見つけるの?
  2. それはシステムにどのような制限をもたらしますか?
  3. どうやってそれを取り除くのですか?
  4. それがとても悪いのなら、なぜ誰かがそれをデザインに含めるのでしょうか?
4

1 に答える 1

1

最新のStackoverflowポッドキャストを聞いた後、私はジェフが共有状態と呼んでいるものを理解しました。

1.それはどのように見えますか?荒野でどうやってそれを見つけますか?

Jeffは、ASP.NETMVCでのSession変数の使用について言及していました。

2.システムにどのような制限がありますか?

適切に構成されていない場合、セッション変数を使用すると、ユーザーを特定のWebサーバーに結び付けることができます。ユーザーがリクエスト間で異なるWebサーバー間をホップすると、Session変数のデータは使用できなくなります。

3.どうやってそれを取り除くのですか?

すべてのWebサーバーからアクセス可能なデータベースにSession変数を永続化することにより、共有状態を取り除くことができます。ASP.NETには、Session変数をデータベースに無料で永続化するオプションがありますが、何らかの理由で、Jeffはこの機能の使用に消極的でした。彼はコードを削除するのが好きだと述べましたが、セッション状態をデータベースに永続化するために独自のメカニズムを使用することにしました。

4.それがひどい場合、なぜ誰かがそれを彼らのデザインに含めるのでしょうか?

コーディングするときにすぐそこにあり、簡単だからです。

代替テキストhttp://www.codeproject.com/KB/mobile/DeepCast/easy-button.jpg

于 2009-09-05T04:08:28.020 に答える