我正在连接到一个Web服务,它要求我在HTTP标头中发送身份验证详细信息。我的同事已成功完成此操作,但他正在使用Visual Studio 2005.我们都导入了一个服务引用,但他似乎可以访问其他我没有的东西。例如,定义了WSAuthHeader
个类,但在他的WebServiceClient
中,他可以访问我没有的authValue
字段。
我试图用这样的操作填写这个缺失的信息:
using (OperationContextScope scope = new OperationContextScope(this._client.InnerChannel))
{
OperationContext.Current.OutgoingMessageHeaders.Add(MessageHeader.CreateHeader("user", "", this.Username));
OperationContext.Current.OutgoingMessageHeaders.Add(MessageHeader.CreateHeader("password", "", this.Password));
this._client.PerformOperation();
}
但是,这似乎不起作用。在WSDL文件中定义WSAuthHeader
的事实是否会改变什么?是否有一些隐藏的方法可以发送此类的实例以及我在WebServiceClient
上执行的操作?
请注意我使用的是Silverlight,而且我无法访问很多我通常能够在.NET中使用的好东西。