我只是想知道如何从wcf数据服务返回单个实体?
我想提供一个方法public User Login(string username, string password)
并将登录用户返回给用户界面。
谢谢!
ANDI
答案 0 :(得分:2)
旧问题已过时,但您需要定义Service Operation:
[WebGet]
[SingleResult]
public User GetAuthenticatedUser(string username, string password) {
//
// Fetch and return the user
// with the given parameters
//
}
但username
和password
通过URI以明文形式传递。更好的选择是从HTTP请求的username
标头中提取password
和Authorization
数据,通过线路加密请求( SSL )。一个简单的例子可能是为数据服务定义一个构造函数,并在其中附加到ProcessingRequest
事件:
public MyDataService() {
this.ProcessingPipeline.ProcessingRequest += (o, e) => {
//
// Do stuff with e.OperationContext.RequestHeaders["Authorization"]
// storing the result into an instance property
//
};
}
使用User GetCurrentUser()
服务操作引用username
和password
的授权属性,而不是将它们作为GET
查询字符串参数接受。
答案 1 :(得分:-1)
我认为这会对你有帮助。
我假设User是你的实体表。
public User Login(string username,string password)
{
Entity obj = new Entity();
User objUser = (from U in obj.User where U.username = username and U.password = password Select U).Single();
return objUser;
}
这对我来说很好,我希望它可以帮到你。