문제

나는 사용자 정의 세션 상태 제공자 내 ASP.NET MVC 응용 프로그램의 경우.내 요구 사항은 세션 데이터를 다음과 같이 저장해야 한다는 것입니다. xml SQL Server의 사용자 정의 테이블에 있습니다.

기존 것을 사용할 수 있나요? SQL 세션 상태 공급자 (일부 메서드 재정의) 또는 추상 클래스를 구현하여 처음부터 새로 만들어야 합니다. SessionStateStoreProviderBase?

도움이 되었습니까?

해결책

SQL Server를 주 제공자로 사용하지 않는 이유는 무엇입니까?구성에서 설정할 수 있으며 자동으로 발생하면 SQL Server가 데이터를 직렬화 된 이진 데이터로 저장하고 효율적으로 검색 할 수 있습니까?

짧은 대답은 예, 당신은 할 수 있지만, 바퀴를 다시 발명합니다.다른 것에 대해 데이터를 사용하거나 프로세스에서 자신을 편집해야합니까?나는 이것을 위해 별도의 과정을 사용하기 위해 경향이 있습니다.이 작업을 수행하기 위해 약간의 작업을 만들어 내려고 할 것이며 나중에 볼 필요가있는 경우 Sessiopn에서 설정할 때 XML 속성을 저장하는 것이 좋습니다.

XML 문서를 세션 객체

Session["MyCustomXml"] = mydoc;

var mydoc = Session["MyCustomXml"] as XmlDocument;
.

다음 구성을 사용하여 SQL Server에 저장됩니다.

<sessionState 
            mode="SQLServer"
            sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
            cookieless="false" 
            timeout="20" 
    />
.

나중에 보려면 SESORID를 사용하여 SESSID를 안전하게 디스크에 저장하십시오.

다른 팁

예 SQL Server 또는 Oracle에서도 클래스 공급자 세션을 사용자 정의 할 수 있습니다.SessionStateStoreProviderBase에서 상속받은 모델의 클래스에서 상속 받고 그가 보내는 필수 메소드를 구현하고 필요한 방법 목록을 확인하십시오. 여기 .

예를 사용하려면 여기 . 이 예제는 ODBC를 사용하지만 ADBCCONNECTION으로 ADBCCONNECTION으로 대체하기 만하면 SQLCONNECTION 및 그 반대로 대체합니다.

행운을 빕니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top