gpt4 book ai didi

c# - 如何获取 WSHttpBinding 安全属性?

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:16 24 4
gpt4 key购买 nike

根据 http://msdn.microsoft.com/en-us/library/system.servicemodel.wshttpbinding.security.aspx , .NET Framework 4.5 的 WSHttpBinding 类具有 System.ServiceModel.WSHttpSecurity 类型的公共(public) Security 属性。

问题是 WSHttpBinding 缺少这个属性。如果我使用调试器检查该类型的对象,它不会显示此类属性:

Debug inspector showing no Security property

此外,Intellisense 没有显示Security 属性:

enter image description here

重要:请注意,我正在使用对象初始值设定项设置 Security 属性!而 Visual Stuido 就可以了!?

Correct way communicate WSSE Usernametoken for SOAP webservice ,@Chris Marisic 显示了他修改此对象的位置。

此应用正在为 .NET Framework 4.5 编译。

什么给了?

最佳答案

问题是 Binding ClientBase.Endpoint 的属性属于 System.ServiceModel.Channels.Binding 类型,它是一个通用抽象类,是所有 Binding 类型的父类型。所以您看到的是该类型的智能感知。

在分配之前,您需要在实际的 WSHttpBinding 实例上设置属性,就像您现在使用对象初始化语法所做的那样。另一种方法是先将其分配给局部变量:

var binding = new WSHttpBinding(SecurityMode....);
binding.Security = new WSHttpSecurity();
// etc.
service.Endpoint.Binding = binding;

关于c# - 如何获取 WSHttpBinding 安全属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14327084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com