无法将第二个参数传递给具有两个参数的 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
我是 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