这个问题与此处发布的问题有关:
我在这里使用了 MSDN 上演示的带有自定义凭据的 WCF 行为扩展:
http://msdn.microsoft.com/en-us/library/ms730868.aspx
唯一的区别是我使用的是从 SDK 中的 WCF 自定义令牌示例创建的自定义令牌。这涉及创建 CreditCard 凭据。
将所有代码都准备好后,我通过 WCF 配置 GUI 添加了扩展。我知道它正在工作,因为它可以识别类型并将扩展名添加到配置文件中。
<extensions>
<behaviorExtensions>
<add name="creditCardServiceCredentials" type="CreditCard.CreditCardServiceCredentialsConfigHandler, CreditCard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<add name="creditCardClientCredentials" type="CreditCard.CreditCardClientCredentialsConfigHandler, CreditCard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</behaviorExtensions>
</extensions>
添加这些元素后,我可以使用 WCF 配置 GUI 将自定义行为添加到服务行为元素或端点行为元素。虽然我没有看到属性,但它确实显示了类型本身,因为它是 ServiceCredentials 或 ClientCredentials 类型。
但是,当我使用编辑器本身时,它不会以智能感知或识别元素的形式出现。
我正在引用包含信用卡凭据配置处理程序的项目;因此 DLL 位于服务的 bin\Debug 目录中。奇怪的是它仍然不起作用:(