我的解决方案有两个项目 - 控制台应用程序项目和WinRT项目。
我需要使用WCF服务,我可以通过我的控制台应用程序完美地完成,只需使用以下行:
static void Main(string[] args)
{
var client = new ServiceReference1.ComeAndGoClient("BasicHttpBinding_IComeAndGo");
var header = new ServiceReference1.ServiceHeader{ AccountID = "a1", DeviceID = "d1" };
var res = client.GetEmployees(ref header, "");
}
问题是 - 当我通过WinRT应用程序调用相同的方法时,我不知道如何发送相同的服务标头(AccountID和DeviceID)。
var client = new ServiceReference1.ComeAndGoClient(ServiceReference1.ComeAndGoClient.EndpointConfiguration.BasicHttpBinding_IComeAndGo);
public async Task LoadData()
{
var sessions = await client.GetEmployeesAsync("");
}
注意:在我的WinRT项目中,我没有任何GetEmployeesAsync方法将ServiceHeader作为参数获取,就像我在我的控制台应用程序项目上有GetEmployees一样。 不过,我已经为这两个项目添加了相同的服务引用。