无法使用两个参数将第二个参数传递给WCF服务

时间:2019-06-11 23:11:52

标签: c# .net wcf soap service

我是WCF服务应用程序的新手。我正在学习教程。我正在尝试传递用户名和密码,并在用户名和密码匹配的情况下,使用户对象返回该特定对象。

我的App_code文件夹中有一个名为Login.cs的类

<style>
    html, body {
        height: 100%;
    }
</style>

在这里,我使用了实体框架模型对象。在这种情况下,我要检查数据库中匹配记录的用户名和密码,如果存在该特定用户,则返回字符串1。

以下代码段是我项目中的Iservice1.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";
        }
    }

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

公共类Service1:Iservice1     {         公用字符串UserLogin(vlogin登录)         {             登录vlogin = new Login();             vlogin.UserName = login.UserName;             vlogin.Password = login.Password;             返回vlogin.UserLogin();         }     }

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

enter image description here

enter image description here

我在这里执行的不正确步骤是什么? 我该怎么办才能通过密码?

1 个答案:

答案 0 :(得分:2)

enter image description here

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