首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务合同的PrincipalPermission属性

服务合同的PrincipalPermission属性
EN

Stack Overflow用户
提问于 2012-11-23 01:09:43
回答 2查看 1.4K关注 0票数 4

为什么PrincipalPermission不能放在服务合同接口上,有什么技术原因吗?它只在实现契约的类上工作,或者直接在类方法上工作。

这不管用。

代码语言:javascript
复制
[ServiceContract]
public interface IMyService
{
    [PrincipalPermission(SecurityAction.Demand, Role="Admin")]
    [OperationContract]
    void MyFunction(string str);
}

但是,如果我将属性放在实现IMyService的类中的匹配方法上,它就会起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-23 01:38:05

角色在运行时被检查,使用放在实现方法上的属性,而不是放在方法实现的接口上的属性。更广泛地说,在.NET中,放在方法上的自定义属性和放在相应接口方法上的自定义属性之间没有直接关系。

票数 3
EN

Stack Overflow用户

发布于 2015-11-20 03:12:35

我知道这篇文章试图给OPs问题提供一个具体的答案,原因在于接口和类之间的区别。

想想看,接口是对实现的描述,而不是实现的行为。接口只是描述类、方法和事件等。

接口定义实现者必须提供的一组成员的签名。接口无法为成员提供行为实现详细信息~()。

继承接口的类提供这些方法和事件的行为。-也就是实现接口的行为~功能

那么为什么要使用接口:

如果您需要提供值类型的多态层次结构,请定义一个接口。

考虑定义接口以实现类似于多重继承的效果。

https://msdn.microsoft.com/library/ms229013(v=vs.100).aspx

希望这能帮助其他人理解。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13517343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档