2011-07-27 5 views
1

내 ASP.NET 사이트가 Windows 공유 호스팅에 있습니다. 내 사이트에서 SQL Server에 SessionState를 유지해야하며 표준 방법은 ASPState DB를 사용하는 것입니다. 하지만 그 DB는 Windows 공유 호스팅에서 액세스 할 수 없으며 지원은 유감스럽게도 저에게 해당 DB에 대한 액세스를 제공 할 수 없다고 말했습니다.Windows의 자체 SQL Server 데이터베이스에있는 SessionState가 공유 호스트

사이트에서 사용하는 DB에서 SessionState를 사용할 수 있습니까? 아니면 호스팅 서버에 다른 DB를 만들어서 SessionSate를 저장할 수 있습니까? 스크립트를 실행하여 필요한 모든 서버 객체 등을 만드는 방법은 무엇입니까?

감사합니다.

답변

2

"partition resolver" helper class을 사용하여 사용자 지정 데이터베이스를 지정할 수 있습니다.

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 유틸리티를 사용하려면 클래스 자체의 모습

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

:처럼의 Web.config의 구성 보인다. sstype 옵션을 사용하면 c으로 설정하여 사용자 지정 데이터베이스를 설치할 수 있습니다.

관련 문제