如何从WCF访问异步方法?

时间:2013-07-13 01:31:42

标签: c# wcf windows-8 windows-store-apps async-await

这是我的方法signIn()的WCF服务,它通过数据库查找用户并返回UserID

[ServiceContract]
public interface IService1
{


    [OperationContract]
    int signIn(string username, string password);
}

派生类Service1

public class Service1 : IService1
{
public int signIn(string username, string password)
    {
        GetHiredDBContext db = new GetHiredDBContext();

        foreach (User user in db.Users)
        {
            if(user.Username==username)
                if (user.Password == password)
                {
                    return user.UserID;
                }
        }
        return -1;
    }

当我在Windows 8商店应用中将此WCF服务设置为服务引用并访问此方法时,signIn()表示此方法为async

我的问题是如何将方法的返回值写入变量并在客户端使用它?

1 个答案:

答案 0 :(得分:3)

如果您正在使用Windows应用商店应用,那么您希望熟悉异步编程和await关键字。它不是特定于WCF。

使用

var userId = await serviceClient.signIn(userName, password);