2

이 인용기본 SQL 공급자가 제공하지 않는 ASP.NET Universal Providers는 어떤 기능을 사용할 수 있습니까? 은 ASP.NET 유니버설 제공 <a href="http://nuget.org/List/Packages/System.Web.Providers" rel="nofollow">NuGet package</a>의 readme 파일 내부

에게 인 SqlMembershipProvider, SqlRoleProvider 만 마이크로 소프트 SQL Server 및 Microsoft SQL Server Express의 버전 4 지원을 통해 ASP.NET에서 제공 SqlProfileProvider 클래스. Microsoft SQL Azure 및 Microsoft SQL Server Compact와 같은 새로운 제품은 지원하지 않습니다. 내가는 SQL 애저 http://support.microsoft.com/kb/2006191에 대한 스크립트 aspnet_regsql 사용자 정의를 실행 한 후 SQL 애저 데이터베이스에 내 Web.config의를 가리킬 때

그러나, ASP.NET 회원이 제대로 작동하는 것 같다.

누구나 SQL Azure에서 작동하지 않는 유니버설 공급자를 사용할 수 있다고 알려주시겠습니까?

+1

Scott Hanselman은 [블로그 사용 방법을 설명합니다] (http : // www. hanselman.com/blog/SystemWebProvidersASPNETUniversalProvidersForSessionMembershipRolesAndUserProfileOnSQLCompactAndSQLAzure.aspx)를 소개합니다. 그러나 세션 상태를 제외하고는 기본 제공 업체에서 작동하지 않는 것이 무엇인지 설명하지 않습니다. –

+0

실험 후 유니버설 공급자가 자동으로 SQL Azure 데이터베이스를 구성 할 수있는 것처럼 보입니다. 기본 SQL 공급자가 작동 할 수 있도록 데이터베이스를 양호한 초기 상태로 만들기 위해 사용자 지정 SQL 스크립트를 실행해야합니다. 유니버설 공급자는 첫 번째 시도에서 필요한 테이블을 자동으로 만듭니다. –

답변

3

가장 큰 차이점은 내가 알 수있는 한, Sql Azure에 연결할 때 retry logic을 구현해야한다는 것입니다. 원래 공급자는 연결 오류가 발생하면 다시 시도하지 않으며 SQL Azure를 사용하여 때때로 발생합니다.

또한 원본 공급자는 전체 SQL 오류 코드가 포함 된 예외를 발생시키지 않으므로 데이터베이스가 스로틀되고있는 경우 어떤 조절 규칙이 적용되는지 알 수 없습니다. 적어도 이것이 SQL Azure 지원 팀이 말한 것입니다. 현재이 이유로 업그레이드를 진행 중입니다.

주의 사항 : 유니버설 공급자는 원래 공급자와 다른 데이터베이스 스키마를 사용하는 것 같습니다. 따라서 멤버십 데이터를 마이그레이션해야합니다. 새 프로젝트를 시작하는 경우 실제 사용자와 함께 라이브로 가기 전에 이러한 공급자를 변경하는 것이 훨씬 쉽습니다!

0

유니버설 공급자를 사용하면 sqlazure에서 asp.net 멤버십 시스템을 사용할 수 있으며 SQL을 구현할 수 없습니다. 유니버설 공급자를 사용하여 동일한 응용 프로그램을 가져 와서 데이터 소스를 sql server/sqlexpress/sqlce/localdb 등으로 변경할 수 있습니다.