当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > remoting使用手记(2)

ASP.NET
asp.net 转换人民币大小金额
编写的vs2005水晶报表程序在vs2008下正常使用的一些实现方法
asp.net下获取浏览器类型的实现代码
asp.net coolite 删除时弹出确定按钮
asp.net Forms身份验证和基于角色的权限访问
asp.net 用继承方法实现页面判断session
asp.net DataGrid 中文字符排序的实现代码
asp.net 利用IIS的404错误将文件重写成目录的简单方法
Aspx/Asp.net 防注入程序 V1.0
C# 数组查找与排序实现代码
ASP.NET通过使页面动态加载不同CSS实现多界面
LINQ学习笔记:XDocument文档与XML声明
ASP.NET教程:如何动态写入服务器端控件
XML+XSLT+CSS+JQuery+WebService组建Asp.Net网站
ASP.NET效率陷阱之:Attributes
.NET vs J2EE:面对SOA的荒谬与误解
ASP.NET学习篇(1):开篇
ASP.NET学习篇(2):安装与配置
ASP.NET学习篇(3):几个简单的ASP.ENT的例子
ASP.NET学习篇(4):服务器端的控件

ASP.NET 中的 remoting使用手记(2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 148 ::
收藏到网摘: n/a

开始以为我的Remoting配置基本可以了,可最近又出现了一些问题,自己进行简单的摸索和实践,记录如下。
8 、发现自己的数据库连接类ConnectionInfo在web service中作为参数出现无法序列化的错误,由于有public的属性是CultureInfo 的,无法实现序列化(由于CultureInfo 没有实现ISerializable接口),只好把类型改为string;既然remoting调用远程对象时不便于调试,所以可以先把需要序列化的类用Web Service调试通过再使用,也是一种调试remoting的方法;
9、前面说到出现错误“由于安全限制,无法访问对象”的错误,和强名有关,其实那不是真正的解决办法;可以通过在配置文件中设置 typeFilterLevel="Full" 来解决,客户端和服务器端的配置文件都需要设置。参见:http://www.thinktecture.com/Resources/RemotingFAQ/Changes2003.html

You can do this either by using a configuration file like this (for server side):


In this case, a matching client-side configuration file which allows the reception of events and callbacks, would look like this:

10、按照如上的格式进行配置文件的修改后,终于不出现“由于安全限制,无法访问对象”的错误了,可是出现
“mscorlib.dll 中出现无法处理的异常类型 System.Runtime.Serialization. SerializationException。
其他信息:BinaryFormatter 版本不兼容。收到的版本为 1008738336.1684104552”的错误,
这种错误大部分“不是”因为版本不兼容,而是因为客户端无法分析文本格式的错误响应。为了真正的错误信息,我把
格式程序从binary改为soap。
11、把需要序列化的类ConnectionInfo和其他remoting远程类一样,添加到配置文件中(服务器端Web.Config中的节和客户端配置文件中),哈哈,终于通过了。(不过我还是没明白序列化的类为何也要进行配置?)12、发现静态(static)的方法即使进行Remoting配置,调用的竟然是本的方法,看来如果需要调用远程的static方法,只有再封装成实例方法供客户端调用了。