问题描述
以下是一个远程对象类的定义:publicclassServerObject:MarshalByRefObject{ publicPersonGetPersonInfo(stringname,stringsex,intage) { Personperson=newPerson(); person.Name=name; person.Sex=sex; person.Age=age; returnperson; }} 这个类只实现了最简单的方法,就是设置一个人的基本信息,并返回一个Person类对象。注意这里返回的Person类。由于这里所传递的Person则是以传值的方式来完成的,而Remoting要求必须是引用的对象,所以必须将Person类序列化。 因此,在Remoting中的远程对象中,如果还要调用或传递某个对象,例如类,或者结构,则该类或结构则必须实现串行化Attribute[SerializableAttribute]:[Serializable]publicclassPerson{ publicPerson() {} privatestringname; privatestringsex; privateintage; publicstringName { get{returnname;} set{name=value;} } publicstringSex { get{returnsex;} set{sex=value;} } publicintAge { get{returnage;} set{age=value;} }}将该远程对象以类库的方式编译成Dll。这个Dll将分别放在服务器端和客户端,以添加引用以上是我在文章中截取的部分我不太理解,如果系统是B/S结构的,客户端都是浏览器,还要引用dll?我自己的理解是,如果系统是B/S结构的,那这个dll只需要布署在服务器端就OK了吧?如果是C/S结构的,是不是还要在客户端布署一次?小弟很菜,望高手指路!
解决方案
解决方案二:
b/s架构肯定是在服务器端引用,c/s架构可能在客户端也可能在服务器端引用
解决方案三:
还有一个问题,请大哥回答remoting客户端的代码一定要加上"ChannelServices.RegisterChannel(newTcpClientChannel(),false);"这句吗?网上好多例子都在客户端加上了这句,可是我在客户端把这句取掉后,代码也很正常,跟没取掉的运行效果是一样的.各位大哥能否给小弟解释一下,客户端加这句代码的作用,以及加与不加的区别在哪里?
解决方案四:
请回答下上面的问题...各位大哥
解决方案五:
top~