我的解决方案上有两个项目——一个控制台应用程序项目和一个 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 项目中,我没有任何将 ServiceHeader 作为参数获取的 GetEmployeesAsync 方法,就像我在控制台应用程序项目中有 GetEmployees 一样。不过,我为这两个项目添加了相同的服务引用。