- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我实现 IDispatchMessageInspector.AfterReciveRequest然后我这样配置:
<configuration>
<system.serviceModel>
<services>
<service
name="Microsoft.WCF.Documentation.SampleService"
behaviorConfiguration="inspectorBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/SampleService" />
</baseAddresses>
</host>
<endpoint
address=""
binding="wsHttpBinding"
contract="Microsoft.WCF.Documentation.ISampleService"
/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="inspectorBehavior">
<serviceInspectors />
</behavior>
</serviceBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<add
name="serviceInspectors"
type="Microsoft.WCF.Documentation.InspectorInserter, HostApplication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
/>
</behaviorExtensions>
</extensions>
</system.serviceModel>
</configuration>
但它不起作用。
我检查了我的程序集和本地引用,但没有找到 Microsoft.WCF.Documentation.InspectorInserter
或 HostApplication
dll我在网上搜索下载 HostApplication
dll,但我一无所获。
我需要做什么?
我需要实现更多的东西或者我只需要这个配置。
最佳答案
我发现使用同样扩展属性的 IServiceBehavior 实现来附加我的 IDispatchMessageInspector 实现要容易得多。然后在 ApplyDispatchBehavior 方法中,将消息检查器附加到所有 channel 中的所有端点。
这article对我帮助很大。
示例代码:
public class MyServiceBehavior : Attribute, IServiceBehavior
{
public void ApplyDispatchBehavior( ServiceDescription serviceDescription,
ServiceHostBase serviceHostBase )
{
foreach( ChannelDispatcher cDispatcher in serviceHostBase.ChannelDispatchers )
foreach( EndpointDispatcher eDispatcher in cDispatcher.Endpoints )
eDispatcher.DispatchRuntime.MessageInspectors.Add( new RequestAuthChecker() );
}
}
然后在您的服务契约的实现中,您只需将属性添加到类中即可。
[ServiceBehavior( InstanceContextMode = InstanceContextMode.PerCall )]
[MyServiceBehavior]
public class ContractImplementation : IServiceContract
{
关于c# - IDIspatchMessageInspector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3523833/
我实现 IDispatchMessageInspector.AfterReciveRequest然后我这样配置:
有一条字符串行形式的消息通过了所有测试。当尝试从中创建并通过 BeforeSendReply 返回消息时,签名就会失效,消息将无效。可能是什么原因? 如何从字符串创建消息? 最佳答案 您可以通过这种方
我需要在 REST、Json、WCF Web 服务中使用请求 header 。我创建了 IDispatchMessageInspector public class HeaderInspector :
我已经在我的服务中实现了idispatchmessageinspector。我不想将其作为一个属性。我希望 BeforeSendReply 将附加数据添加到 header 中。我遇到的问题是它没有被调
我正在尝试关注这篇博文:http://blogs.msdn.com/b/carlosfigueira/archive/2011/04/19/wcf-extensibility-message-insp
我的 WCF 应用程序使用 IDispatchMessageInspector对于某些高级监控 - 何时发生错误和何时未发生错误。 我正在寻找一种方法来获取在我到达 IDispatchMessageI
我已经创建了 IDispatchMessageInspector 接口(interface)的自定义实现,我的代码工作正常 99%。 我的问题是,当 WCF 服务主机被终止和/或释放我的类的一个实例时
我已经编写了一个 WCF IDispatchMessageInspector,因此我可以记录传入和传出的消息。但我不确定如何获取格式良好的 XML 字符串以进行记录。 我的代码看起来像这样:
我正在尝试使用 IDispatchMessageInspector在 WCF 服务实现中访问自定义 header 值。 类似于: public class MyService : IMyService
在我的 WCF 项目中,我需要在响应中使用自定义 header ,因此我实现了 IDispatchMessageInspector。老实说,一切都很好,但我对一件小事感到不安。 问题是 BeforeS
WCF用返回的方法有什么作用 IDispatchMessageInspector.AfterReceiveRequest ? 我遇到的只有 return null; 例子。 最佳答案 它将值传递给 B
我有几个 WCF SOAP 服务,它们以编程方式公开一个端点,一个 IEndPointBehavior附上。 var endpoint = AddServiceEndpoint(contractTyp
在调用服务之前,在我的客户端中,我在发送到 wcf 服务之前向请求添加了一个 token (guid)。 AfterReceiveRequest(ref System.ServiceModel.Cha
我在 AfterReceiveRequest 中获得了一些值,并希望在 WCF 的 BeforeSendReply 中使用它。 请帮助我,我该怎么做。我正在处理 C# 项目文件。我不能在这里使用 Se
我是一名优秀的程序员,十分优秀!