关于NET Remoting传递对象的问题

问题描述

用了接口来做Remoting对象的传递,接口定义如下namespaceNetRemoteInterface{publicinterfaceIRemoteInterface{stringgetNeedStr(stringcallstr);HotelInfogetHotelInfo(intcode,stringname);}[Serializable]publicclassHotelInfo{publicintHotelCode;publicstringHotelName;}}服务端实现接口的代码如下:[Serializable]publicclasschannelDemo:System.MarshalByRefObject,IRemoteInterface{publicchannelDemo(){}publicstringgetNeedStr(stringcallstr){return"Igetitstring."+callstr;}publicHotelInfogetHotelInfo(intcode,stringname){HotelInforot=newHotelInfo();rot.HotelCode=code;rot.HotelName=name;returnrot;}}客户端调用getHotelInfo方法可以用断点检查到但是返回的时候出现如下错误:"Unabletofindassembly'RemoteServer,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null'."客户端的调用方法如下:ChannelServices.RegisterChannel(newTcpClientChannel(),true);IRemoteInterfacerService=(IRemoteInterface)Activator.GetObject(typeof(IRemoteInterface),"tcp://localhost:8085/Hellos");if(rService==null){toolStripStatusLabel1.Text="NULLOBJ";}else{try{//label2.Text=rService.getNeedStr("SSSP");NetRemoteInterface.HotelInfotpt=(NetRemoteInterface.HotelInfo)rService.getHotelInfo(8888,"SCODE");toolStripStatusLabel1.Text=tpt.HotelName;}catch(Exceptionexp){toolStripStatusLabel1.Text=exp.Message;}finally{}请问有什么问题}

解决方案

解决方案二:
up
解决方案三:
客户端的接口定义和服务器端的接口实现一定要版本一样,重新将两者编译一次后分别拷到客户端和服务器端试一下
解决方案四:
接口定义在客户端和服务端都是一样的
解决方案五:
把服务端的[Serializable]去掉!
解决方案六:
客户端调用getHotelInfo方法可以用断点检查到是什么意思?服务端的[Serializable]是要去掉的建议你先把SERVER端用VS跑起来再直接去执行生成的CLIENT端EXE文件看是不是可以单步进服务端的publicHotelInfogetHotelInfo(intcode,stringname)方法.不可以就是配置有问题,或者你客户段连接语句有问题.至于你的对象和接口的使用是没有问题的
解决方案七:
up
解决方案八:
谢谢各位,不过你们说的这些我都试过了,依然出上面所描述的问题。"客户端调用getHotelInfo方法可以用断点检查到",这句话我描述的有问题,我是指客户端调用getHotelInfo方法,在服务端是可以跟踪到有执行的,所以怀疑是返回的时候出现的错误。
解决方案九:
帮你顶!
解决方案十:
RemoteServer是什么???把服务端的代码都贴出来看看!
解决方案十一:
不懂,帮顶一下
解决方案十二:
"Unabletofindassembly'RemoteServer,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null'."RemoteServer是你的DLL文件?这个很明显是找不到程序集~~如果RemoteServer是服务端项目名~~还能调试进去我也不知道你出什么错了是DLL文件你就编译重新引用下
解决方案十三:
服务器端的代码如下:channel=newTcpServerChannel(8085);ChannelServices.RegisterChannel(channel,true);RemotingConfiguration.RegisterWellKnownServiceType(typeof(channelDemo),"Hellos",WellKnownObjectMode.SingleCall);//channel.StartListening(null);toolStripStatusLabel1.Text="channelopen!port:8085";另外RemoteServer是服务端项目名

时间: 2024-09-24 00:34:54

关于NET Remoting传递对象的问题的相关文章

dwr 异步传递对象

注意在导入js文件时必须先导入系统的js,再导入自己的      <script type='text/javascript' src='jquery.js'></script> <script type='text/javascript' src='dwr/engine.js'></script>      <script type='text/javascript' src='dwr/util.js'></script>    

java网络传递对象时该对象继承父类的属性在网络接收端接收该属性值总是null,why?

问题描述 java网络传递对象时该对象继承父类的属性在网络接收端接收该属性值总是null,why? //=========================== 情形一: ===============================//在网络上传递User1类对象时info属性值在网络的另一端能够接收到! public class User1 implements Serializable { public String info = null; public String userName =

一个用session传递对象的典型例子,和用面向对象编程的朋友共同分享(转自CSDN)

session|编程|对象 首先,你的session要好使,PHP4.1以上的版本别忘了把php.ini中的register_globle=Off设成register_globle=On,还有就是session.cookie_path = /,注意这行不可以乱改,有的版本PHP改了这个设置session就不好使,这是PHP的一个BUG.好了,我假设你的session已经没问题了,我对下面的例子作个说明:b.php和a.php各定义了一个类,其中a.php中的类a稍微复杂,因为它是由b.php中的

ASP.NET页面间传递对象的另类方法

asp.net|对象|页面  我们知道,Asp.net在不同页面间传递对象的时候可以用Session来实现.现在我想介绍另外一种方法来达到目的.     主要思路:我们需要两个页面,一个Sender.aspx负责发送所需传递的对象,一个Receiver.aspx负责接受send过来的对象.Sender.aspx主要是运用了Server.Transfer来终止当前页面的执行,并开始调入Receiver.aspx来取出对象. 具体实现: ITransfer.cs namespace Sunrise.

Android中Intent使用Serializable和Parcelable传递对象

Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putParcelable(Key, Object);当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口,为了让大家更容易理解我还是照常写了一个简单的Demo,大家就一步一步跟我来吧! 第一步:新建一个Android工程命名为ObjectTranDemo(类比较

通过java套接字传递对象

使用JavaTM远程方法调用(RMI),可以很方便地开发分布式的基于对象的应用程序.RMI的简单性,是由网络通信的费用作为代价的.底层的套接字可以用来开发客户/服务器系统,但是由于大多数Java I/O类和对象不太容易匹配,如何通过套接字传递完成的对象呢?对象序列化是一个允许您以比特流方式读/写完成对象的机制. 将底层的套接字和对象序列化结合在一起,您将得到一个强大的.高效的.可替代RMI的机制,通过套接字来传递对象还能克服使用RMI的高费用的问题. 对象序列化概述 对象序列化机制对于需要将对象

ajax 动态传递jsp等页面使用id辨识传递对象

 本文为大家介绍下使用ajax动态传递jsp等页面,js的jax编写,使用id辨识传递对象 ajax 动态传递页面, js 的ajax编写,使用id辨识传递对象    例如 : 现在有个需求,一个页面,分成左右两块,左侧导航菜单有个用户列表信息功能按钮,想在右侧无刷新情况下加载用户数据,列表显示.    我们定义两个jsp main.jsp userlist.jsp    main.jsp 右侧有个div id='userlist' 层,负责接受通过传递过来的userlist.jsp    us

Serializable与Parcelable传递对象详解(activity间传递对象方式)

先了解什么是序列化? 序列化是什么:  序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得.  序列化分为两大部分:序列化和反序列化.序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输.反序列化就是打开字节流并重构对象.对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据.恢复数据要求有恢复数据的对象实例  序列化的什么特点:  如果某个类能够被序列化,其子类也可以被序列化.声明为static和transient类型的成员数据不能被序列

请问:android中intent传递对象的问题

问题描述 请问:android中intent传递对象的问题 请教个问题,如果如果 我用intent传递一个A类的对象a, a中包含类B的对象b.那么b还需要序列化吗? 理由呢? 解决方案 需要的,不然b里面的数据是传递不过去的