Tag: wshttpbinding

将标头添加到WCF RequestSecurityToken消息

我正在尝试设置将使用WSHttpBinding进行通信的客户端(Web应用程序)和服务(WCF服务)。 看来为了使用这种绑定,客户端发送初步消息来设置频道。 在客户端和服务之间存在一个服务总线,它在自定义头上进行路由。 使用BasicHttpBinding安全性时,该消息没有问题。 我的问题是:有没有办法在初步的RequestSecurityToken消息中添加相同的自定义标头? 先感谢您。

使用wsHttpBinding的WCF服务 – 操作HTTP请求标头

我一直在关注本教程,以便在我的WCF服务中使用传输安全性进行用户名身份validation。 然而,教程指的是使用basicHttpBinding这是不可接受的 – 我需要wsHttpBinding 。 我们的想法是在WCF服务上有一个自定义的BasicAuthenticationModule ,它将从HTTP请求中读取“Authorization”头,并根据“Authorization”头内容执行auth过程。 问题是缺少“授权”标题! 我已经通过自定义行为实现了IClientMessageInspector ,以便操作传出消息并添加自定义SOAP标头。 我在BeforeSendRequest函数中添加了以下代码: HttpRequestMessageProperty httpRequest = request.Properties.Where(x => x.Key == “httpRequest”).Single().Value; httpRequest.Headers.Add(“CustomHeader”, “CustomValue”); 这应该工作,并根据许多Web资源,它适用于basicHttpBinding但不适用于wsHttpBinding 。 当我说“工作”时,我的意思是WCF服务成功接收了标头。 这是在WCF服务端检查收到的HTTP消息的简化函数: public void OnAuthenticateRequest(object source, EventArgs eventArgs) { HttpApplication app = (HttpApplication)source; //the Authorization header is checked if present string authHeader = app.Request.Headers[“Authorization”]; if (string.IsNullOrEmpty(authHeader)) { app.Response.StatusCode = 401; app.Response.End(); } […]

WCF中的mex绑定错误

我正在使用VSTS 2008 + C#+ .NET 3.0。 我正在使用自托管的WCF服务。 执行以下语句时,会出现以下“未找到绑定”错误。 我已经发布了我的整个app.config文件,任何想法有什么问题? ServiceHost host = new ServiceHost(typeof(MyWCFService)); 错误信息: 无法通过绑定MetadataExchangeHttpBinding找到与端点的方案http匹配的基址。 注册的基地址方案是[https]。 完整的app.config: