无法将第二个参数传递给具有两个参数的 WCF 服务

Cannot pass the second parameter to the WCF service with two parameters

我是 WCF 服务应用程序的新手。我正在学习教程。在那里,我试图传递一个用户名和一个密码,如果用户名和密码匹配,则在该特定对象中获取用户对象 returned。

在我的 App_code 文件夹中,我有以下 class 名为 Login.cs

public class Login
    {
        WindsForBusinessEntities001 newLogin = new WindsForBusinessEntities001();
        private string vusername;
        private string vpassword;

        public string UserName
        {
            get { return vusername; }
            set { vusername = value; }
        }
        public string Password
        {
            get { return vpassword; }
            set { vpassword = value; }
        }
        public string UserLogin()
        {
            var login = (from mstUser in newLogin.mstUsers where mstUser.userName == vusername && mstUser.password == vpassword select mstUser).Count() > 0;
            if (login)
            {
                return "1";
            }
            else return "0";
        }
    }

这里我使用了一个entity framework模型对象。在这里,我检查用户名和密码与数据库中的匹配记录,如果该特定用户存在,则 return 字符串 1。

以下代码段是我的 Iservice1.cs class 在我的项目中。

[ServiceContract]
    public interface Iservice1
    {
        [OperationContract]
        string  UserLogin(vlogin login);
    }
    [DataContract]
    public class vlogin
    {
        private string vusername;
        private string vpassword;
        [DataMember]
        public string UserName
        {
            get
            {
                return vusername;
            }
            set
            {
                vusername = value;
            }
        }
        public string Password
        {
            get
            {
                return vpassword;
            }
            set
            {
                vpassword = value;
            }
        }
    }

这是我的 Service1.svc.cs 文件代码段。

publicclass服务1:I服务1 { public string UserLogin(vlogin 登录) { 登录 vlogin = new Login(); vlogin.UserName = login.UserName; vlogin.Password = login.Password; return vlogin.UserLogin(); } }

我在这里面临的问题是,当我尝试执行它时,它只接受我的用户名。它不接受我的密码。密码不能作为输入给出。它只接受一个输入。因此,在执行此操作时,它始终 returns 0 仅因为它没有匹配的密码。

我在此处执行的错误步骤是什么? 怎么把密码传进去?

密码不是[DataMemeber],每个属性应该是DataContract class的DataMember。 DataContract 将其定义为一种服务,旨在获取或设置数据,因此 DataContract 的属性应为 DataMember