惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
Apple Machine Learning Research
Apple Machine Learning Research
J
Java Code Geeks
V2EX - 技术
V2EX - 技术
Hacker News: Ask HN
Hacker News: Ask HN
T
Tailwind CSS Blog
V
Visual Studio Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
月光博客
月光博客
H
Hacker News: Front Page
D
DataBreaches.Net
GbyAI
GbyAI
Recorded Future
Recorded Future
IT之家
IT之家
H
Heimdal Security Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Schneier on Security
Schneier on Security
P
Privacy International News Feed
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Security Affairs
博客园 - 三生石上(FineUI控件)
M
MIT News - Artificial intelligence
Google Online Security Blog
Google Online Security Blog
L
LINUX DO - 最新话题
Google DeepMind News
Google DeepMind News
The Cloudflare Blog
L
LangChain Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
腾讯CDC
The Last Watchdog
The Last Watchdog
I
Intezer
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hacker News - Newest:
Hacker News - Newest: "LLM"
Stack Overflow Blog
Stack Overflow Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
U
Unit 42
H
Help Net Security
Simon Willison's Weblog
Simon Willison's Weblog
Y
Y Combinator Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Schneier on Security
T
Tenable Blog
TaoSecurity Blog
TaoSecurity Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
小众软件
小众软件
B
Blog
S
Security @ Cisco Blogs
A
About on SuperTechFans
V
V2EX
T
The Exploit Database - CXSecurity.com

博客园 - begincsdn

C# 自定义光标使用的常见方法 二叉树的递归遍历以及非递归遍历(一)----先序遍历(转) Pentium指令的执行周期数[转] 计算机图形学 -- 光栅图形学扫描线填充多边形[转] 推荐一个跨平台内存分配器【转载】 几何图形库-GEOS使用示例(1) 开源几何计算数学库 C++中固定长度短字符串比较是否相同,忽略大小写比对时的小技巧 二维图形变换公式推导---------旋转变换 .NET 漫淡(一) --- 需要充分认识的应用程序域-AppDomain Gerber 文件格式(一):RS-274X 语法 SCRUM 系列之一 ----- 认识SRCUM GERBER文件格式简介 迷思微软两大框架的RTTI(Run-Time Type Identification) 让你的VS。NET2003可以调试ASP服务器脚本。 UNION,EXISTS,IN等在SQL语句中的灵活应用和场境的选择。 欢迎大家加入我申请的QQ群。 客户端独立弹出详细的实现过程 - begincsdn - 博客园 Microsoft.Visual.Studio..NET.2005.预发行版 EMULE下载
Remoting中,关于获取某接口派生的自定义属性(CustomAttribute)的问题
begincsdn · 2007-01-25 · via 博客园 - begincsdn

在面向AOP开发时,定义的是SingleCall,服务器激活模式。  
 
并且定义了interface供客户端和服务端同时使用,服务端实现该接口,  
客户端通过URL创建相应接口类型的实例代理。  
 
在访问时,程序可以正常访问,现希望通过:自定义上下文截获消息后,  
主要是对IMethodMessage类型消息处理。  
 
希望能获取消息访问的方法的所有属性(Attributes)  
无论使用:  
object  []  attrs  =  msg.MethodBase.GetCustomAttributes(true);  
还是使用  
object  []  attrs  =  msg.MethodBase.GetCustomAttributes(false);  
 
都只能获取接口上定义的属性,而不能获取到相应在服务器上实例的属性。  
 
现希望能获取实例类型相应方法上的属性。  
本来在CSDN上咨询过该问题,后来找到一个妥协的办法:

我实现的方法如下:

        public ServiceContextSink(IMessageSink nextSink)
        {
            WellKnownServiceTypeEntry[] wells;
            wells = System.Runtime.Remoting.RemotingConfiguration.GetRegisteredWellKnownServiceTypes();
            foreach (WellKnownServiceTypeEntry e in wells)
            {
                table["/"+e.ObjectUri] = Type.GetType(e.TypeName);
            }
            this.nextSink = nextSink;
        }

        private object[] GetCustomAttributes(string uri,IMethodMessage msg)
        {
            int index = uri.LastIndexOf('/');
            string url = uri.Substring(index, uri.Length - index);
            Type type = table[url] as Type;
            Type[] types = new Type[msg.ArgCount];
           
            index = 0;
            for (int i = 0 ; i < msg.ArgCount ; i++)
            {
                Type t = msg.Args[i].GetType();
                types[i] = t == null ? typeof(object) : t;
            }
            MethodInfo info = type.GetMethod(msg.MethodName, types);
            if (info == null)
                return new object[0];

            return info.GetCustomAttributes(false);
        }