如何使用Remoting跨程序传递事件( 关于Microsoft.Net Remoting 权威指南 一书第三章)

xiyun 2004-10-31 12:19:03
A B 两个程序,当B发生了特定的事件,通知到A

在 Microsoft.Net Remoting 权威指南 书的第三章有讲但运行客户端时会出安全异常,
我自己之前写的程序也是如此。不知道为什么?

如果需要看源代码 , 书中的源代码可以到微软的网站下。我的做法跟树立面的差不多
...全文
249 9 打赏 收藏 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
AhBian 2004-11-01
  • 打赏
  • 举报
回复

使用应用程序配置文件设置反序列化级别
若要使用配置文件设置反序列化级别,必须显式指定 <formatter> 元素的 typeFilterLevel 属性。虽然这通常是在服务器端指定的,但您还必须为注册来侦听回调的客户端上的任何信道指定这一属性,以控制其反序列化级别。以下示例为应用程序域中的 SoapFormatter 和 BinaryFormatter 显式地将反序列化级别设置为 Low。

重点警告:
千万不要在 Machine.config 这个文件中进行 Full 配置,因为这么做太不安全了。

<configuration>

<system.runtime.remoting>

<application>

<service>

<wellknown

type="ServiceType, common"

objectUri="ServiceType.soap"

mode="Singleton"

/>

</service>

<channels>

<channel ref="http">

<serverProviders>

<provider ref="wsdl" />

<formatter ref="soap" typeFilterLevel="Low" /> // Full

<formatter ref="binary" typeFilterLevel="Low" /> // Full

</serverProviders>

</channel>

</channels>

</application>

</configuration>



另外,在程序集中声明以下特性,也是有用的,具体应用场合和技巧请见 MSDN 帮助文档的相关条目。
[assembly:AllowPartiallyTrustedCallers]
xiyun 2004-11-01
  • 打赏
  • 举报
回复
未处理的“System.Security.SecurityException”类型的异常出现在 mscorlib.dll 中。

其他信息: 不允许类型 System.DelegateSerializationHolder 和从中派生的类型(例如 System.DelegateSerializationHolder)在此安全级别上被反序列化。
AhBian 2004-10-31
  • 打赏
  • 举报
回复
由于那本书写的时候是根据 .Net Framework 1.0 写的,而后来发布的 Framework 1.1 中新加入一个与 Remoting 相关的安全特性,限制了可以自动反序列化的类型。

一种解决办法是应用程序的配置文件中的 Remoting 配置节,设置 typeFilterLevel= "Full"。

另一种是在程序中使用代码设定对应的属性,示例代码如下:

BinaryServerFormatterSinkProvider serverProv = new BinaryServerFormatterSinkProvider();

// 设置类型过滤级别为 Full,也就是所有类型均可自动序列化和反序列化。
// 有关的技术细节,请见 MSDN 帮助文档中相应的条目。
provider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;

BinaryClientFormatterSinkProvider clientProv = new BinaryClientFormatterSinkProvider();

IDictionary props = new Hashtable();
props["port"] = XXXX;

HttpChannel chan = new HttpChannel(props, clientProv, provider);
ChannelServices.RegisterChannel( chan );
AhBian 2004-10-31
  • 打赏
  • 举报
回复
异常的详细信息是什么?
xiyun 2004-10-31
  • 打赏
  • 举报
回复
AhBian(阿扁)

好像还是不行啊

怎么还是一样的错误啊
xiyun 2004-10-31
  • 打赏
  • 举报
回复
谢谢 AhBian(阿扁)
长江 2004-10-31
  • 打赏
  • 举报
回复
B发生特定事件,在事件中连接到A,然后把代表此事件状态的对象传递给A,A接收到对象判断对象所代表的事件状态作出对应的反应
xiyun 2004-10-31
  • 打赏
  • 举报
回复
Up
wuzhijie 2004-10-31
  • 打赏
  • 举报
回复
帮你顶!
内容概要:本文提出了一种基于混沌系统与DNA编码的复合型彩色数字图像加密方案,旨在解决传统加密算法密钥空间小、抗干扰能力弱的问题。该方案利用混沌系统生成伪随机序列,结合DNA碱基编码规则对图像RGB三通道进行像素级置换与混淆扩散,实现高安全性加密;解密过程则通过逆操作精确还原原始图像。文章重点对该方案进行了系统的抗噪声与抗裁剪性能分析,实验结果表明,该算法在面对高斯噪声、椒盐噪声以及不同面积、位置的裁剪攻击时均表现出优良的鲁棒性,能够有效恢复图像核心信息,适用于网络传输与私密存储等复杂环境下的图像安全保护。; 适合人群:具备一定信号处理或信息安全基础知识,从事图像加密、信息隐藏、多媒体安全等相关领域的科研人员及研究生。; 使用场景及目标:①用于提升数字图像在网络传输中的安全性,防止窃听与篡改;②适用于医疗影像、军事测绘、商业机密等对图像安全性和抗干扰性要求较高的应用场景;③为研究高鲁棒性图像加密技术提供理论支持与实验参考。; 阅读建议:建议读者结合Matlab代码实践加密与解密流程,并自行设计不同强度的噪声与裁剪干扰实验,深入理解混沌置乱与DNA编码在提升算法鲁棒性方面的协同机制。

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧