Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services 在web服务中首先使用代码时出错;System.Data.ProviderIncompatibleException:提供程序未返回ProviderManifestToken字符串;_Web Services_Code First - Fatal编程技术网

Web services 在web服务中首先使用代码时出错;System.Data.ProviderIncompatibleException:提供程序未返回ProviderManifestToken字符串;

Web services 在web服务中首先使用代码时出错;System.Data.ProviderIncompatibleException:提供程序未返回ProviderManifestToken字符串;,web-services,code-first,Web Services,Code First,我先用代码。一切正常(插入、更新、选择)一切都经过测试。当我尝试使用web服务时,问题就出现了。我收到错误“System.Data.ProviderIncompatibleException:提供程序未返回ProviderManifestToken字符串。”。查看内部异常,我得到一条消息“无法确定存储版本;需要有效的存储连接或版本提示。” web服务代码: /// <summary> /// Summary description for UserServices /// </

我先用代码。一切正常(插入、更新、选择)一切都经过测试。当我尝试使用web服务时,问题就出现了。我收到错误“System.Data.ProviderIncompatibleException:提供程序未返回ProviderManifestToken字符串。”。查看内部异常,我得到一条消息“无法确定存储版本;需要有效的存储连接或版本提示。”

web服务代码:

/// <summary>
/// Summary description for UserServices
/// </summary>
[WebService(Namespace = "http://localhost:3955/WebServices/UserServices")]
//[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[System.Web.Script.Services.ScriptService]
public class UserServices : System.Web.Services.WebService
{

    [WebMethod]
    public bool LoginControlPanelUser(string user, string password)
    {
        if(Membership.ValidateUser(user, password))
        {
            return DbUsersDAO.HasAuthenticationType(user, password);
        }
        return false;
    }
}
上下文类:

    public VirtusCloudCoreContext()
    {
        Database.SetInitializer<VirtusCloudCoreContext>(new VirtusCloudCoreContextInitializer());
        this.Database.Connection.ConnectionString = "Data Source=localhost\SQLEXPRESS;Database=DatabaseName;User Id=******;Password=*******;" ;

    }
公共VirtusCloudCoreContext() { SetInitializer(新的VirtusCloudCoreContextInitializer()); this.Database.Connection.ConnectionString=“数据源=localhost\SQLEXPRESS;数据库=DatabaseName;用户Id=****;密码=*******;”; }
当我尝试获取用户时,我得到异常。。。。有什么想法吗?

当连接字符串出错时,经常会发生此错误,但我认为在您的情况下,这是因为您试图手动设置连接字符串

尝试使上下文从DbContext继承,并在构造函数中获取一个连接字符串,该字符串将传递给基构造函数,如下所示:

public class VirtualCloudCoreContext : DbContext {
     public VirtualCloudCoreContext(string connectionString) 
             : base (connectionString) {
     }
 }

我在VS2012 Web项目中使用了一个新的DB生成的EDMX,它有一个单独的类文件——两个项目都安装了EF 6.1.1。即使我使用的是SQL 2012,我也必须直接编辑EDMX文件,并从2012年起将其更改为
ProviderManifestToken=“2008”

不确定是否与Telerik Grid/EntityDataSource相关。更多提及此问题,但与VS2013相关

public class VirtualCloudCoreContext : DbContext {
     public VirtualCloudCoreContext(string connectionString) 
             : base (connectionString) {
     }
 }