当我尝试使用此方法返回学生时,它不显示任何内容或任何错误,如果我不在密码框中放任何内容我收到404错误,所以我知道它的工作原因我的身份验证方法不是工作,我基本上想要验证用户并从学生集合中返回一些东西,比如FirstName?
private void button20_Click(object sender, EventArgs e)
{
string uri = string.Format("http://localhost:8000/Service/AuthenticateStudent/{0}/{1}", textBox28.Text, textBox29.Text);
XDocument xDoc = XDocument.Load(uri);
var Tag12 = xDoc.Descendants("Student")
.Select(n => new
{
FirstName = n.Element("FirstName").Value,
})
.ToList();
dataGridView12.DataSource = Tag12;
}
答案 0 :(得分:1)
您需要创建一个特殊的返回类型,其中包含您当前返回的布尔值以及学生:
public class AuthenticationResult
{
public bool IsValid {get;set;}
public Student ValidatedStudent {get;set;}
}
然后从WCF方法返回此类型的对象:
public AuthenticationResult AuthenticateStudent(string studentID, string password)
{
var result = students.FirstOrDefault(n => n.StudentID == studentID);
bool flag = false;
if (result != null) {...}
...
return new AuthenticationResult {IsValid = flag, ValidatedStudent = result};
}