我的 ASP.NET 站点位于 Windows 共享主机上。我需要在我的站点上的 SQL Server 中保留 SessionState,标准方法是使用ASPState
DB。但是在 Windows 共享主机上无法访问该数据库,并且支持人员说不幸的是他们无法为我提供对该数据库的访问权限。
是否可以在站点使用的数据库中使用 SessionState,或者我可以在托管服务器上创建和使用任何不同的数据库来存储 SessionSate?如何运行脚本来创建所有必要的服务器对象等?
谢谢!
我的 ASP.NET 站点位于 Windows 共享主机上。我需要在我的站点上的 SQL Server 中保留 SessionState,标准方法是使用ASPState
DB。但是在 Windows 共享主机上无法访问该数据库,并且支持人员说不幸的是他们无法为我提供对该数据库的访问权限。
是否可以在站点使用的数据库中使用 SessionState,或者我可以在托管服务器上创建和使用任何不同的数据库来存储 SessionSate?如何运行脚本来创建所有必要的服务器对象等?
谢谢!
您可以使用“分区解析器”帮助程序类指定自定义数据库。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
为安装自定义数据库。