问题标签 [idispatchmessageinspector]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - 如何在 WCF 中获取自定义肥皂标题的值
我创建了一个自定义的肥皂标题,并通过 IClientMessageInspector 将其添加到我的消息中
我还有一个 IDispatchMessageInspector,我可以在列表中找到正确的标题。但是,没有任何价值。我知道该值正确地通过了线路,因为消息字符串是正确的
但似乎没有任何属性可以检索此值。MessageHeaderInfo 类有 Actor 等,但我找不到其他有用的东西。
在客户端,我必须在 Header 和 Untyped 标头之间进行转换,服务器上是否有等效的操作?
我发现了以下内容,应该可以。
如果我手动找到正确的索引并调用第二行,它会按预期工作。但是 FindHeader 返回 -1 作为索引,即使我已经在监视窗口中确认这些是名称和命名空间的正确值。
wcf - 如何在 WCF 消息检查器中获取调用的操作名称
我在 WCF 中做一个消息检查器:
它实现了该方法:
我可以通过以下方式获取调用服务的名称:
但是我如何获得被调用操作的名称呢?
.net - 如何访问用于在 WCF 服务(服务器端)上实现 IDispatchMessageInspector 的类中的属性?
我正在使用 WCF IClientMessageInspector 将标头中的信息发送到 WCF 服务 (wsHTTP)。我正在使用 IDispatchMessageInspector 接收信息并填充 String 属性。
当我在特定方法中使用 FindHeader 时,我验证了标头正在正确发送信息,但我宁愿只访问具有 Token 属性的自定义类并从那里获取 Token 而不必在单独的方法中执行 FindHeader所有其他方法调用以获取标头值。
所以我的问题是,从服务器端(我假设是 OperationContext)我如何访问这个类实例,它的 Token 属性填充了标头信息?
下面是整个类的代码:
地区“进口”
结束区域
区域“IEndpointBehavior”
结束区域
区域“ IClientMessageInspector ”
结束区域
区域“IDispatchMessageInspector”
结束区域
结束类
c# - IDISpatchMessageInspector
我实现 IDispatchMessageInspector.AfterReciveRequest 然后我像这样配置:
但它不起作用。
我检查了我的程序集和我的本地参考,我没有找到Microsoft.WCF.Documentation.InspectorInserter
或HostApplication
dll 我在网上搜索以下载HostApplication
dll 但我什么也没找到。
我需要做什么?
我需要实现更多的东西,或者我只需要这个配置。
wcf - 在运行时添加 WCF 消息检查器
我创建了一个自定义 ServiceHost,我想用它来自动将消息检查器添加到在其上运行的服务的每个端点。我创建了一个实现 IDispatchMessageInspector 和 IClientMessageInspector 的 MessageInspector,并找到了应该将其添加到每个端点的以下代码:
我遇到的问题是 ChannelDispatchers 集合在打开服务主机之前是空的,这意味着我无法在构造函数中运行此代码。我为 Opened 事件创建了一个事件处理程序,并在其中使用了该代码,但是在尝试添加端点时出现以下错误:
似乎我陷入了某种 Catch 22,我在 WCF 中寻求的功能是否可行?
谢谢,
麦克风
wcf - 如何在服务级别在 WCF 中记录 JSON 响应
我有一个将 JSON 返回给客户端的 WCF 服务。
这是 app.config
这是服务公开的示例操作
现在,我想记录服务从客户端接收到的每个请求以及发送回客户端的响应……在这种情况下,它是 JSOn。
我创建了一个自定义 MessageInspector 如下
但这似乎没有记录任何响应.. response.Tostring() 只说“...stream”
如果我的服务以 SOAP XML 格式返回数据,则上述内容有效。但我希望它记录 JSON 响应,这是我调用 REST 服务端点时在浏览器中下载的 *.js 文件中的文本。例如:http://localhost:8080/MyService/me/2/
有什么想法可以实现吗?
wcf - 如何使用 MessageInspector 在 WCF 上实现编排
我有一个 WCF 服务,我使用 MessageInspector(继承 IDispatchMessageInspector)检查它
我想在运行服务之前做一些事情,结果我不想运行服务。
我想阻止客户端调用,但客户端没有收到异常。
你能帮助我吗
wcf - 如何禁用我的状况的 MessageInspector
我使用 IDisptachMessageInspector 检查 WCF 服务,然后在更改消息上下文的 BeforeSendReply 方法中调用服务操作。但是当我调用 service 时, Inspector 再次运行。我不想运行检查员。你知道有什么方法可以做那个场景吗?
c# - 使用 IDispatchMessageInspector 获取请求的远程地址
我正在尝试关注这篇博文:http: //blogs.msdn.com/b/carlosfigueira/archive/2011/04/19/wcf-extensibility-message-inspectors.aspx
我的目标是以某种方式获取传入请求的远程地址,但由于某种原因,该地址要么在任何参数中都看不到,要么为空。
这是我正在实现的接口:
我试图获取远程地址的方法是AfterReceiveRequest
. 我检查了两个参数request
和channel
. 此外,这似乎channel.RemoteAddress
是它应该在的地方,但由于某种原因,该属性为空。该request
参数也是空的,但我猜那是因为我正在执行 GET 而不是 POST。
下面是我正在调用来测试它的方法的签名。
wcf - 如何在 WCF 服务中实现安全性,以便只有选定的客户端才能访问我的服务(不检查每个方法中的用户 ID/密码)?
我已经IDispatchMessageInspector
在我的 WCF 服务中实现了如下所示的安全性。
客户端代码:
}
服务器端(服务):
}
}
这样,只有知道 authkey 的客户才能访问我的服务。这就是我所做的。但我不确定安全性,因为我认为如果有人以某种方式从网络线路上的肥皂中破解此 authkey 将能够访问我的服务。在这种情况下如何保护我的服务?请为我提供一个解决方案,以便只有选定的客户才能访问我的服务。