C# 使用Oracle数据库配置ASP.NET MVC 4应用程序
我目前正在使用Oracle数据库进行ASP.NET MVC 4项目。我已成功将连接字符串添加到我的Web.config文件中,如下所示:C# 使用Oracle数据库配置ASP.NET MVC 4应用程序,c#,asp.net-mvc-4,oracle11gr2,C#,Asp.net Mvc 4,Oracle11gr2,我目前正在使用Oracle数据库进行ASP.NET MVC 4项目。我已成功将连接字符串添加到我的Web.config文件中,如下所示: <add name="OracleDBConnString" connectionString="Provider=MSDAORA;Data Source=ISDQA;User ID=isd;Password=isdqa;" providerName="System.Data.OleDB" /> 这是我的用户控制器: [HttpPost] [Al
<add name="OracleDBConnString" connectionString="Provider=MSDAORA;Data Source=ISDQA;User ID=isd;Password=isdqa;" providerName="System.Data.OleDB" />
这是我的用户控制器:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
//I WANT TO MODIFY THIS PART
if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
return RedirectToLocal(returnUrl);
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}
更新
当我将base(“DefaultConnection”)
更改为base(“OracleDBConnString”)
时,出现以下错误:
Server Error in '/' Application.
A null was returned after calling the 'get_ProviderFactory' method on a store provider instance of type 'System.Data.OleDb.OleDbConnection'. The store provider might not be functioning correctly.
注意,我已经使用System.Data.OleDb添加了
代码>在我的使用中。您可以在web.config中设置您使用的成员资格提供程序,而不是创建特殊类
对于Oracle,您可以找到一个OracleMembershipProvider
类。
对于MySQL,您可以使用MySQLMembershipProvider
。这里有一篇很好的文章,介绍了如何设置它:
此外,您还可以使用和使用适当的提供者(请参阅本文:)。我没有尝试这个解决方案,但它看起来很有希望
如果上面没有任何帮助,您可以编写自己的Memebership提供程序,但我相信您可以找到一些已经存在的东西
总而言之:与其更改连接类型,不如更改成员资格提供程序,这将针对您的需要。您的代码不应该注意到更改,因为每个成员资格提供程序都继承了baseMemebershipProivder
classAsp.Net SimpleMembership和Asp.Net成员资格恐怕是不同的。Net MVC4模板使用SimpleMembership(WebSecurity.Login)
请参阅我关于Asp.NETMVC4中MySql成员资格提供程序用法的回答。简单地更改连接字符串或其他东西对您没有帮助。您需要找到Oracle Asp.Net SimpleMembership或自己编写。我不明白。我必须更改连接字符串吗?顺便说一下,我安装了CodeFirst成员资格提供程序。@garath你能解释一下如何将Oracle成员资格提供程序的外观设置为我的答案吗
Server Error in '/' Application.
A null was returned after calling the 'get_ProviderFactory' method on a store provider instance of type 'System.Data.OleDb.OleDbConnection'. The store provider might not be functioning correctly.