在项目引用里面,找到WebMatrix.WebData和WebMatrix.Data,右击,选择属性,将“复制本地”设置为true。新建的MVC4网络应用程序模板已经有了,当自己去实现就会有各种问题了。

引入命名空间是必须的 

然后还要定义并在控制器上面调用过滤器。

 

配置web.config: 

 <profile defaultProvider=“SimpleProfileProvider“>

  <providers>
    <add name=“SimpleProfileProvider“ type=“WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData“
        connectionStringName=“DefaultConnection“ applicationName=“/“ />
</providers>
</profile>
<membership defaultProvider=“SimpleMembershipProvider“>
  <providers>
      <add name=“SimpleMembershipProvider“ type=“WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData“ />
  </providers>
</membership>
<roleManager defaultProvider=“SimpleRoleProvider“>
  <providers>
    <add name=“SimpleRoleProvider“ type=“WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData“/>
  </providers>
</roleManager>

 

这个不加入配置文件的话会报错,比如: 

 

未启用角色管理器功能。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Configuration.Provider.ProviderException: 未启用角色管理器功能。 

 

 

和配置有关的还有EDMX的引入, 更改模型命名空间一定不要忘了在App.Config中更改.csdl/.ssdl/.msl三个文件的路径,这几个文件包含了EDMX的路径。因为连接字符串和以前的格式大不一样了。

否则就会出这个错误:

无法加载指定的元数据资源。 

 

您必须先调用“WebSecurity.InitializeDatabaseConnection”方法,然后再调用"WebSecurity"类的任何其他方法。

这个是伪异常。重新点调试就行。 

 

 

 遇到很蛋疼的错误是:“未能加载文件或程序集“WebMatrix.WebData”或它的某一个依赖项”,解决方法是在项目引用里面,找到WebMatrix.WebData和WebMatrix.Data,右击,选择属性,将“复制本地”设置为true。

 

 

参考资料:

 “未能加载文件或程序集“WebMatrix.WebData”或它的某一个依赖项”的解决方法

 

ADO.NET Entity Framework 之“无法加载指定的元数据资源。”

 http://insomniacgeek.com/to-call-this-method-the-membership-provider-property-must-be-an-instance-of-extendedmembershipprovider/

 

http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx

上文的渣渣翻译版:

 http://blog.csdn.net/sat472291519/article/details/12039685

 

这位同学用反编译去理解 simplemembership

http://www.cnblogs.com/fatbird/p/Mvc4_defaultAuthorize.html  

 

 http://www.cnblogs.com/fatbird/p/Mvc4_defaultWebsecurity.html

 

这位同学用案例去讲,参考价值最高.亲测下改写连接字符串后就可以用了.他会自己生成一个membership数据库。

 

http://www.tystudio.net/category/dotnet/dotnet-membership/

 

最后这个是

ASP.NET MVC 學習資源整理

 

 

 

 

 

posted on 2013-12-16 14:25  Cherbim  阅读(762)  评论(0编辑  收藏  举报

这是页脚