我正在尝试按照此处的示例将自定义行为插入到我的服务客户端中。
我似乎正在遵循所有步骤,但我得到了ConfigurationErrorsException。有没有比我更有经验的人可以发现我做错了什么?
这是整个 app.config 文件。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="ClientLoggingEndpointBehaviour">
<myLoggerExtension />
</behavior>
</endpointBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<add name="myLoggerExtension"
type="ChatClient.ClientLoggingEndpointBehaviourExtension, ChatClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</behaviorExtensions>
</extensions>
<bindings>
</bindings>
<client>
<endpoint
behaviorConfiguration="ClientLoggingEndpointBehaviour"
name="ChatRoomClientEndpoint"
address="http://localhost:8016/ChatRoom"
binding="wsDualHttpBinding"
contract="ChatRoomLib.IChatRoom"
/>
</client>
</system.serviceModel>
</configuration>
这是异常消息:
为 system.serviceModel/behaviors 创建配置部分处理程序时出错:扩展元素“myLoggerExtension”无法添加到此元素。验证扩展是否已在 system.serviceModel/extensions/behaviorExtensions 的扩展集合中注册。参数名称:元素(C:\Documents and Settings\Andrew Shepherd\My Documents\Visual Studio 2008\Projects\WcfPractice\ChatClient\bin\Debug\ChatClient.vshost.exe.config 第5行)
我知道我已经正确地编写了对 ClientLoggingEndpointBehaviourExtension 对象的引用,因为通过调试器我可以看到它正在被实例化。