문제

나는 Silverlight 클라이언트 및 관련 ASP.NET 웹 서비스 (WCF)에서 작업하고 있으며 "좋아하는 항목"시스템과 같은 사용자 기본 설정 및 Word-wapping을 원하는지 여부와 같은 사용자 기본 설정을 포함하는 일부 기능을 구현해야합니다. 분노하지 않고 즐거운 (분노하지 않고) 유쾌하게 만들기 위해 세션에서 이러한 설정을 지속하려고합니다. 간단한 조사는 두 가지 주요 가능성이 있음을 시사합니다.

  1. 실버 라이트 고립 된 저장
  2. asp.net-Accessible 데이터베이스

사용자가 Silverlight에 대한 격리 된 스토리지를 비활성화하더라도 선호도는 여전히 지속되지만 현재 데이터베이스를 유지 관리하는 부담을 피하고 싶습니다. 아이디어가 마음에 든다는 것을 알고 있습니다. 서버 연결을 사용할 수없는 경우에도 선호도가로드 및 편집 할 수 있습니다. 그러나 나는 나중에이 히트를받는 것이 선호되는 이유에 대한 논쟁에 열려 있습니다.

내가 찾고있는 것은 어느 시나리오에서나 설정 지속성을 구현하는 가장 좋은 방법에 대한 제안입니다. 예를 들어, 격리 된 스토리지를 사용하는 경우 XML 형식 또는 설정을 지속하기 위해 다른 파일 레이아웃을 사용해야합니다. 데이터베이스 접근법이 사용되는 경우 설정 테이블을 설계해야합니까? 아니면이를 지원하기 위해 ASP.NET에 내장 메커니즘이 있습니까? 클라이언트에 대한 환경 설정을 어떻게 제공합니까?

그래서:

사용자 선호도 지속성을위한 더 나은 솔루션은 무엇입니까? 해당 솔루션에서 설정이 어떻게 지속될 수 있으며, 클라이언트가 어떻게 액세스하고 업데이트 할 수 있습니까?

사전 연구

이 문제에 대한 약간의 사전 연구를 수행했으며 다음 링크를 찾았습니다.이 링크는 읽은 기사에 따라 해결책을 옹호하는 것으로 보입니다.

업데이트

Microsoft는 Silverlight의 내장 부분으로서 격리 된 스토리지에서 설정을 제공 한 것으로 나타났습니다 (대안을 구현 한 후까지 어떻게 든 놓쳤습니다). 아래의 대답 이것에 대한 자세한 내용이 있습니다.

Microsoft가 클라이언트 측 설정 지속성을 제공하더라도 질문을 열어두고 있습니다. 이것이 반드시 사용자 선호도를 지속하는 최선의 방법이라는 의미는 아니며 더 많은 의견과 제안을 캔버스하고 싶습니다.

도움이 되었습니까?

해결책

더 많은 것을 조사하고 내 자신의 XML 파일 기반 설정 지속성을 구현 한 후 분리 된 스토리지, 나는 그것을 발견했다 분리 된 스토리 세팅 클래스와 isplicationSettings.applicationSettings 사용자 별 애플리케이션 설정을 저장하기위한 키/값 컬렉션 인 개체.

지금은 모두 분명해 보입니다. 물론, 장기적으로 서버 데이터베이스를 사용하여 설정을 백업하고 복원하는 메커니즘은이 클라이언트 측 설정 지속성을 잘 향상시킬 수 있습니다.

다른 팁

일반적으로 기본값은 서버에 저장하는 것입니다. 고객에게 저장하려는 특별한 이유가있을 때만 가능합니다. 통제 할 수없는 매체에 보관하는 데 더 많은 의존을할수록 더 많은 위험을 감수합니다.

그것은 말하면서 논쟁의 "데이터베이스"측면에 자신을 설정하면서 데이터베이스의 단점이 무엇인지 물어볼 것입니까? XML 사용을 언급했습니다 - 데이터 만 반 구조화 되었습니까? 그렇다면 XML을 SQL 데이터베이스에 저장하지 않겠습니까? 이 단순한 것을 설정하는 것은 일반적으로 대부분의 표준에 의해 "부담"으로 간주되지 않습니다. 간단한 웹 서비스는 Silverlight 클라이언트와 설정 데이터베이스 사이의 중간 역할을 할 수 있습니다.

오프라인 동안 사용자가 선호도에 액세스 할 수있는 중요한 기능이라면 격리 된 스토리지가 귀하를 대상으로하는 것처럼 보입니다. 고립 된 스토리지를 끄는 경우에도 사용자가 환경 설정을 저장하는 것이 더 중요하다면 (정말 문제입니까? 이에 대해 Yagni에게 전화하려는 유혹을 받았지만 Silverlight 플랫폼에 대해서는 몹시 경험이 없습니다. .) 그런 다음 데이터베이스를 호스팅해야합니다. 둘 다 중요하다면 아마도 어떤 종류의 하이브리드 솔루션을보고있을 것입니다. 사용 가능한 경우 격리 된 스토리지를 사용한 다음 데이터베이스로 돌아갑니다.

다시 말해, 응용 프로그램의 요구가 일부 추상 모범 사례보다 중요하다고 생각합니다.

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