2010-04-28 91 views
0

我有一个使用basicHttp绑定的简单wcf服务,我想通过自定义SOAP标头将少量信息从客户端传递给此服务。我的客户端是一个.NET应用程序,使用Visual Studio打击.Net 1.1我创建了代理(添加了一个指向我的WCF服务的新Web引用)我可以调用WCF服务中的方法,但无法将数据传递给消息头。试图重写“GetWebRequest”并在代理中添加自定义标题,但由于某种原因,当我尝试使用“OperationContext.Current.IncomingMessageHeaders.FindHeader”访问标题时,它不是他们的。将.Net 1.1客户端的自定义标头传递给WCF服务

任何想法如何解决这个概率?

这是我的添加的报头

保护覆盖System.Net.WebRequest GetWebRequest(URI URI)

{

HttpWebRequest的请求; request =(HttpWebRequest)base.GetWebRequest(uri); request.Headers.Add(“tesData”,“test”);
返回请求;

}

回答

0

您尝试使用非常奇特的方式! .NET 1.1 - 现在是复古了。但现在回到你的问题。我确信您可以实现所有您需要的关于HttpWebReques t和HttpWebResponse类的内容。您应该查看模板上自动生成的代理。它也将在.NET 1.0上运行。

大概如果足以在生成的代理代码中进行小修改即可。例如,您可以添加一个新的数据,而不是覆盖现有的代理方法,您可以将新数据放置在HTTP标头中,方式为request.Headers.Add

如果它不起作用,您可以将您的服务器和客户端代码降至最低,并将此代码添加到您的问题中。然后,你可以重现你的问题,更好地帮助你。

Regards