2010-08-05 4 views
14

약간의 배경 : 저는 현재 ASP.NET 응용 프로그램에서 세션 상태를 관리하기 위해 Memcached Providers을 사용합니다. SQL Server를 대체 저장 메커니즘으로 사용하기위한 기능을 제공합니다 (세션을 memcached 캐시에서 제거해야하는 경우). 나는 RavenDB에 대한 공급자를 만드는 것을 살펴보고 싶다.이 일은 훨씬 더 효율적이다.RavenDB ASP.NET 세션 공급자?

제 질문은 누구나 그런 것을 구현 했습니까? (또는 비슷한 무엇인가?) 나는 바퀴를 다시 발명하는 것을 싫어한다. Google은 RavenDB 그룹 자체에서 my question 이외의 유용한 결과를 산출하지 않으므로이 문제를 직접 Stack Overflow 커뮤니티에 가져갈 것이라고 생각했습니다.

+0

SQL Server를 RavenDB로 바꾸고 있지만 여전히 Memcached가 있습니다. 또는 Memcached를 RavenDB로 대체하려고합니다. 어느 것이 세션 상태에 대해 더 나은 성능을 제공하는지 궁금합니다. 감사. – Tigran

+0

실제로 Couchbase에 가서 그들의 aspnet 공급자 구현 (세션 상태 및 출력 캐시)을 사용했다 : https://github.com/couchbaselabs/couchbase-aspnet – DanP

답변

18

나는 또한 RavenDB 세션 상태 저장소를 찾고 있었다, 그리고 내 검색도 실패했습니다. NuGet package를 통해 또한

github.com/mjrichardson/RavenDbSessionStateStoreProvider

사용할 수 :

은 그래서 하나를 만들었습니다.

+0

Nuget 패키지가 NewtonSoft Json 4.5.6과 호환되지 않는 것으로 보입니다. Nuget은 4.5.6에서 "업데이트"하려고합니다. 4.0.8 ... –

+0

[호환되지 않는 RavenDB.Client 패키지입니다] (http://ayende.com/blog/157505/ravendb-1-0-amp-newtonsoft-json-4-5-7). Ayende의 글에 따르면 [RavenDB.Client의 버전 1.0.971] (http://nuget.org/packages/RavenDB.Client/1.0.971)을 참조하여 문제를 해결할 수 있어야합니다. –

3

내가 아는 한 멀지 않습니다. RavenDB는 꽤 활동적인 프로젝트이고 Memcached는 2 년 동안 거의 죽지 않고 32 비트를 유지했습니다. 당신은

OK IIS

에서 RavenDB를 실행 나을 수 있습니다, 그래서 코드는 현명한는이보다 작은하지 않습니다 - 하나의 파일을 : http://sourceforge.net/projects/aspnetsessmysql/files/MySqlSessionStateStore.cs/download

+0

입력 주셔서 감사하지만 memcached 정말 아니다 여기에있는 문제 ... 더 일반적으로, RavenDB를위한 세션 제공자를 만드는 것에 대해 묻고 있습니다. memcached 프로 바이더는, 이것이 어떻게 동작 할까의 일례의 구현만을 제공합니다. – DanP

+0

그래서 당신은 실제로 다른 일부 DB와 대화하는 ASP.NET 세션 제공자를위한 비교적 작은 소스 코드를 찾고 있으므로 RavenDB를 수정할 수 있습니다. Unles 당신은 전혀 코드 작성에 반대합니다 :-) – ZXX

3

RavenDb이 문서가 후 삭제하는 것을 의미 세션 만료 번들을 제공합니다 지정된 일생. 이 세션으로 사용하기에 적합하며 전체 집계 루트가 훨씬 청소기 코드를 의미 RavenDb에서 검색되는 것을 의미합니다 : RavenDb Expiration Bundle