0

次の手順に従って、セッション状態管理を使用して Web アプリを実装しました。

http://blog.maartenballiauw.be/post/2008/01/ASPNET-Session-State-Partitioning-using-State-Server-Load-Balancing.aspx

http://en.aspnet-bhs.info/post/State-Server-Partitioning.aspx

私の SessionIDManager 継承者にはコードが含まれています:

public class SessionIdManager : System.Web.SessionState.SessionIDManager
{
    public override string CreateSessionID(System.Web.HttpContext context)
{...}

私のweb.configにはコードが含まれています:

<machineKey
          validationKey="1234567890123456789012345678901234567890AAAAAAAAAA"
          decryptionKey="123456789012345678901234567890123456789012345678"
          validation="SHA1"
          decryption="Auto"
        />
...
<sessionState
            mode="StateServer"
            partitionResolverType="PartitionResolver"
            sessionIDManagerType="SessionIdManager"
            cookieless="false"
            timeout="20"
            />

ただし、CreateSessionID メソッドは呼び出されないため、セッション ID は適切なサーバー ID で修正されません。

何が起こっているのか、または記事に記載されていないことを考慮する必要があるかもしれないことを誰か教えてもらえますか?

VS2k5 で .NET2 を使用しています。

ありがとう、

マット。

4

2 に答える 2

0

Validate(string id)関数では、ASPフレームワークに新しいセッションを作成させたくない場合は、常に行う必要がありreturn trueます。

于 2010-11-29T21:07:50.840 に答える
0

Validate(string id) メソッドにセッション ID 文字列の長さのチェックを追加しました。return id.Length != 24; これはうまくいくようです。

于 2010-07-19T07:33:06.343 に答える