1

私のASP.NETサイトはWindows共有ホスティング上にあります。私は自分のサイトのSQLServerでSessionStateを維持する必要があり、標準的な方法はASPStateDBを使用することです。しかし、そのDBはWindows共有ホスティングではアクセスできず、サポートによると、残念ながら、そのDBへのアクセスを提供することはできません。

サイトが使用するDBでSessionStateを使用することは可能ですか、それともホスティングサーバー上で別のDBを作成して使用し、SessionSateを保存することはできますか?スクリプトを実行して、必要なすべてのサーバーオブジェクトなどを作成するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

2

「パーティション リゾルバー」ヘルパー クラスを使用して、カスタム データベースを指定できます。web.config の構成は次のようになります。

<sessionState mode="SQLServer" 
     partitionResolverType="YourNameSpace.PartitionResolver"
     cookieless="false" timeout="480" />

クラス自体は次のようになります。

public class PartitionResolver : IPartitionResolver
{
    public void Initialize()
    {
    }

    // The key is a SID (session identifier)
    public String ResolvePartition(
        Object key)
    {
        return "Data Source=myServerAddress;Initial Catalog=myDataBase;" +
               "User Id=myUsername;Password=myPassword;";
    }
}

必要な SQL Server オブジェクトを作成するには、aspnet_regsqlユーティリティを使用します。カスタムデータベースをインストールするためにsstype設定できるオプションがあります。c

于 2011-07-27T18:58:32.070 に答える