2011-07-27 16 views
1

私のASP.NETサイトはWindows Shared Hosting上にあります。私は私のサイトにSQL ServerのSessionStateを保持する必要があり、標準的な方法はASPState DBを使用することです。しかし、DBはWindowsの共有ホスティングではアクセスできない、そしてサポートは残念ながら彼らは私にそのDBへのアクセスを提供することはできません。Windowsの共有SQL Serverデータベース内のSessionState

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

ありがとうございます!

答えて

2

"partition resolver" helper classを使用してカスタムデータベースを指定できます。 web.configファイル内の設定は、次のようになります。aspnet_regsqlユーティリティを使用し、必要なSQL Serverオブジェクトを作成するには

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;"; 
    } 
} 

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

クラス自体は次のようになります。 sstypeオプションがあります。cに設定すると、カスタムデータベースをインストールできます。