2013-05-26 2 views
1

EF 5 코드를 사용하여 응용 프로그램 도메인 모델을 만들었습니다. 그런 다음 aspnet_reqsql.exe 유틸리티를 실행하여 데이터베이스의 멤버십 테이블을 생성하여 ASP.NET 기본 멤버 자격 공급자에 연결하려고 시도하고 있습니다.EF 5 코드로 ASP.NET 기본 멤버십을 사용하는 경우 연결 문자열 "DefaultConnection"을 찾을 수 없습니다.

SQL Management Studio에서 데이터베이스를 확인할 때 모든 멤버십 테이블이 내 코드 우선 테이블과 함께 있기 때문에 정상적으로 작동하는 것 같습니다.

이제 우리는 내 응용 프로그램을 실행하고 모두 좋을 것 같습니다.로드되어 페이지를 탐색 할 수 있습니다. 그러나 회원 자격이 필요한 항목 (예 : 로그인 페이지)을 탐색하는 즉시 응용 프로그램이 중단됩니다. 나는 다음과 같은 메시지와 함께 죽음의 노란색 화면을 얻을 :

Server Error in '/' Application. 

Connection string "DefaultConnection" was not found. 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidOperationException: Connection string "DefaultConnection" was not found. 

Source File: c:\Users\XXX\Documents\Visual Studio 2012\Projects\YourApp\YourApp\Filters\InitializeSimpleMembershipAttribute.cs Line: 41 

그러나 그의 해결책은 이미 저에 의해 구현되는 비슷한 문제에 직면 사용자에 의해 this thread있다, 내가 가지고 있다는 사실은 이미 주석 web.config의 기존 연결 문자열. 나는 그랬지만 여전히 성공하지 못했다.

내가 뭘 잘못하고 있니? 어떤 도움을 주시면 감사하겠습니다.

덕분에 여전히 첫 번째 매개 변수로 "DefaultConnection"이 경우, InitializeSimpleMembershipAttribute 전화

답변

2

는, 당신은 당신이 그것을 사용할 연결의 이름이 변경해야합니다.

+0

감사합니다. – Ciwan

0

리차드 덕분에 모든 것을 정리할 수있었습니다. 여기에 내가 무슨 짓을 : (ASP.NET MVC4를 사용하는 경우) 내가 클래스의 상단에 거기에 내 AccountController을 열어

,이 나타납니다 :

[Authorize] 
[InitializeSimpleMembership] 
public class AccountController : Controller 
{ 
    // all code for controller here. 
} 

I 다음 마우스 오른쪽 버튼으로 클릭을 [InitializeSimpleMembership]에 있고 Go To Definition을 클릭하십시오. 일단 거기

, 당신은 아래로 스크롤하면,이 같은 것을 볼 수 있습니다 :

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); 

변경 DefaultConnection 속성 당신이 당신의 EF 코드 먼저 컨텍스트라는 이름의 한 무엇에, 그리고 당신이 좋은 것 가기.

감사합니다.

관련 문제