社区
C#
帖子详情
如何使用Remoting跨程序传递事件( 关于Microsoft.Net Remoting 权威指南 一书第三章)
xiyun
2004-10-31 12:19:03
A B 两个程序,当B发生了特定的事件,通知到A
在 Microsoft.Net Remoting 权威指南 书的第三章有讲但运行客户端时会出安全异常,
我自己之前写的程序也是如此。不知道为什么?
如果需要看源代码 , 书中的源代码可以到微软的网站下。我的做法跟树立面的差不多
...全文
174
9
打赏
收藏
如何使用Remoting跨程序传递事件( 关于Microsoft.Net Remoting 权威指南 一书第三章)
A B 两个程序,当B发生了特定的事件,通知到A 在 Microsoft.Net Remoting 权威指南 书的第三章有讲但运行客户端时会出安全异常, 我自己之前写的程序也是如此。不知道为什么? 如果需要看源代码 , 书中的源代码可以到微软的网站下。我的做法跟树立面的差不多
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
帮你顶!
Net
Remoting
基础篇
一、
Remoting
基础 什么是
Remoting
,简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说
Remoting
就是DCOM的一种升 级,它改善了很多功能,并极好的融合到
.Net
平台下。
Microsoft
®
.NET
Remoting
提供了一种允许对象通过应用
程序
域与另一对象进行交互的框架。这也正是我们
使用
Remoting
的原因。为什么呢?在Windows操作系统...
.Net
Remoting
基础篇
.Net
Remoting
基础篇 一、
Remoting
基础 什么是
Remoting
,简而言之,我们可以将其看作是一种分布式处理方式。从微软的产品角度来看,可以说
Remoting
就是DCOM的一种升级,它改善了很多功能,并极好的融合到
.Net
平台下。
Microsoft
® .NE
使用
.NET
Remoting
实现并行计算
使用
.NET
Remoting
实现并行计算Eric Bergman-Terrell
.NET
Remoting
使您可以
跨
多台计算机轻松进行分布计算,只需完成非常少的编程工作。在本文中,Eric Bergman-Terrell 创建了一个名为 Digits of Pi 的应用
程序
,它
使用
并行的多台计算机以不可思议的精度计算 p 值。他设法在 12 小时内完成了 10,000 位数的计算,却只
并发编程概述 委托(delegate)
事件
(event)
.net
core 2.0 event bus 一个简单的基于内存
事件
总线实现
.net
core 基于NPOI 的excel导出类...
并发编程概述 前言 说实话,在我软件开发的头两年几乎不考虑并发编程,请求与响应把业务逻辑尽快完成一个星期的任务能两天完成绝不拖三天(剩下时间各种浪),根本不会考虑性能问题(能接受范围内)。但随着工作内容的变化,一些问题,它的解决方案已经让我避不开并发编程这一块知识点了。为了一劳永逸,此系列与并发编程有关的系列文章诞生,希望对各有有所帮助。 基础术语 同步...
WebService和
.net
Remoting
二者哪一个好一些
请问各位高手:WebService和
.net
Remoting
二者哪一个好一些(谢绝灌水)? 二者各有何优缺点?哪一个效率高一些?哪一个安全性好一些?欢迎各位高手指点!多谢!
C#
110,535
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章