2013-02-15 2 views
0

내 MVC 응용 프로그램을 개발 컴퓨터에서 완벽하게 작동하지만 프로덕션 서버에 배포 할 때 항상 예를 ​​들어, 다양한 오류 메시지를 제공합니다 : 당신은 "WebSecurity를 ​​호출해야합니다ASP.NET MVC 4 + SimpleMembershipProvider

. InitializeDatabaseConnection "메서드를 호출하기 전에"WebSecurity "클래스의 다른 메서드를 호출하십시오. 이 호출은 사이트의 루트에있는 _AppStart.cshtml 파일에 있어야합니다.

WebMatrix.WebData've는 2.0 버전을 변경하고 복사 지역 = true를 설정하고 난의 Web.config에 다음 줄을 복사 :

<roleManager enabled="true" defaultProvider="SimpleRoleProvider"> 
<providers> 
    <clear/> 
    <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider,WebMatrix.WebData"/> 
</providers> 
</roleManager> 
<membership defaultProvider="SimpleMembershipProvider"> 
<providers> 
<clear/> 
<add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" /> 
</providers> 
</membership> 

가 나는 이유가 무엇인지 알고하지 않습니다 . 도움이 필요합니다.

+0

당신이 파일 _AppStart.cshtml에서 WebSecurity.InitializeDatabaseConnection 전화나요 당신의 오프 [InitializeSimpleMembership]을 것을 내가 제안? – Andorbal

+0

@Andorbal 그는 웹 페이지가 아닌 MVC 앱으로 작업하고 있습니다. '_AppStart.cshtml'은 MVC, atleast가 아닌 MVC4로 작업 할 때 존재하지 않습니다. – Komengem

+0

저는 Global.asax의 Application_Start() 메소드에 초기화 코드를 넣었지만 오류는 같습니다. 그렇지 않으면 코드가 동일합니다. – sada

답변

0

단순 회원으로 일하는 경우이 BlogPost을 살펴 보시기 바랍니다. 모든 회원 테이블을 관리하고 회원이 될 수 있기 때문에 실제로 도움이되었습니다. 파트 오브 엔티티 프레임 워크 모델

어쨌든 MVC 프로젝트의 필터 디렉토리에 InitializeSimpleMembershipAttribute.cs 파일이 있어야합니다. 해당 파일로 이동이 걸릴 :

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

Global.asax.cs 파일에 넣어. 이렇게하면 항상 초기화됩니다. 이 작업을 수행 또한 후, InitializeSimpleMembershipAttribute.cs 유지가 필요하지 않고 당신이 AcccountController

+0

나는 그것을했지만 지금이 오류 메시지는 HomeController의 Index 메서드의 첫 번째 줄에 나타납니다. "개체 참조가 개체의 인스턴스로 설정되지 않았습니다." – sada

+0

@sada 내가 게시 한 블로그에 대한 링크를 따라 가면, 당신이하고있는 일을 다시 시작하고 올바르게해야 할 수도 있습니다. 그건 그렇고, 그 오류는 당신이'null' 항목을 호출하려고한다는 것을 의미합니다. – Komengem

+0

답변 해 주셔서 감사합니다. 마지막으로 설치가 잘못 되었음이 발견되었습니다. – sada