社区
C#
帖子详情
remoting 中 同个TCP通道是否可以注册多个远程对象?如果可以的话如何实现?
qiuyan81
2007-04-30 01:57:59
如题
网上找不到相关的资料 有点郁闷。
...全文
329
13
打赏
收藏
remoting 中 同个TCP通道是否可以注册多个远程对象?如果可以的话如何实现?
如题 网上找不到相关的资料 有点郁闷。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qiuyan81
2007-04-30
打赏
举报
回复
恩 问题就在这里 郁闷 原来命名是DataObject的 后来与系统自带的命名冲突。。就改了一下。。。 哎。。。
结帖 谢谢大家。。
对了 怎么结帖的?
wzd24
2007-04-30
打赏
举报
回复
RemotingConfiguration.RegisterActivatedServiceType(typeof(DataObject));
这里的(DataObject)是不是写错了???
qiuyan81
2007-04-30
打赏
举报
回复
汗 我再查看看
wzd24
2007-04-30
打赏
举报
回复
是不是你写错了??
qiuyan81
2007-04-30
打赏
举报
回复
AccManageObject这个对象测试完全没问题。。
databaseObject是后面加上去的。。死都用不了
wzd24
2007-04-30
打赏
举报
回复
服务端是:typeof(DataObject));
客户端是:typeof(DataBaseObject)
为什么这样??
qiuyan81
2007-04-30
打赏
举报
回复
远程对象代码:
namespace RemoteObject
{
[Serializable]
#region 数据类
public class DataBaseObject : MarshalByRefObject
{
#region 构造函数
public DataBaseObject() : base()
{
}
#endregion
public string GetServerTime()
{
string s = DateTime.Now.ToString("d");
return "adasd";
}
#region 租约处理
public override Object InitializeLifetimeService()
{
/*
ILease lease = (ILease)base.InitializeLifetimeService();
if (lease.CurrentState == LeaseState.Initial)
{
lease.InitialLeaseTime = TimeSpan.FromMinutes(1);
lease.SponsorshipTimeout = TimeSpan.FromMinutes(2);
lease.RenewOnCallTime = TimeSpan.FromSeconds(2);
}
return lease;
*/
return null;
}
#endregion
}
}
qiuyan81
2007-04-30
打赏
举报
回复
服务端:
RemotingConfiguration.ApplicationName = "RemoteObject";
RemotingConfiguration.RegisterActivatedServiceType(typeof(DataObject));
RemotingConfiguration.RegisterActivatedServiceType(typeof(AccManageObject));
客户端:RemotingConfiguration.RegisterActivatedClientType(
typeof(DataBaseObject), "tcp://192.168.0.15:8000/RemoteObject");
RemotingConfiguration.RegisterActivatedClientType(
typeof(AccManageObject), "tcp://192.168.0.15:8000/RemoteObject");
DataBaseObject这个对象为什么老是不可以用?(错误为:类型没有为激活而注册)
AccManageObject这个就可以
wzd24
2007-04-30
打赏
举报
回复
LS的…………,我哭,又有人来抢我分了!
LoveCherry
2007-04-30
打赏
举报
回复
<system.runtime.remoting>
<application>
<service>
<wellknown mode="SingleCall"
type="CAS.RemotingObject.BLL.AccountOperation, CAS.RemotingObject.BLL"
objectUri="AccountOperation.rem" />
<wellknown mode="SingleCall"
type="CAS.RemotingObject.BLL.GetData, CAS.RemotingObject.BLL"
objectUri="GetData.rem" />
<wellknown mode="SingleCall"
type="CAS.RemotingObject.BLL.QueueService, CAS.RemotingObject.BLL"
objectUri="QueueService.rem" />
<wellknown mode="SingleCall"
type="CAS.RemotingObject.BLL.RetrievePassword, CAS.RemotingObject.BLL"
objectUri="RetrievePassword.rem" />
<wellknown mode="SingleCall"
type="CAS.RemotingObject.BLL.SecurityOperation, CAS.RemotingObject.BLL"
objectUri="SecurityOperation.rem" />
</service>
<channels>
<channel ref="tcp" port="810"/>
</channels>
</application>
<customErrors mode="Off">
</customErrors>
</system.runtime.remoting>
wzd24
2007-04-30
打赏
举报
回复
可以,这是从我已经运行的项目里复制出来的代码!
北京的雾霾天
2007-04-30
打赏
举报
回复
同个TCP通道不可以注册多个远程对象吧.
wzd24
2007-04-30
打赏
举报
回复
可以,一直注册下去就好了!
RemotingConfiguration.RegisterWellKnownServiceType(typeof(Remoting.VisitorRemoting), "Visitor", WellKnownObjectMode.Singleton);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(Remoting.AdminRemoting), "Admin", WellKnownObjectMode.Singleton);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(Remoting.ConsoleRemoting), "Console", WellKnownObjectMode.Singleton);
asp.net面试题
不定项选择题(共14题,单选或多选): 一、一个HTML文档必须包含三个元素,它们是head、html和( )。 A.scriptB.bodyC.titleD.link 二、下面哪段javascript能弹出一个提示框?( ) A.document.alert(test) B.window.alert(test) C.document.alert('test ') D.window.alert('test ') 三、当鼠标放在一个链接上的css样式应该( )伪类来定义。 A.a:visitedB.a:linkC.a:hoverD.a:active 四、关于ASP.NET
中
的代码隐藏文件的描述正确的是( )。 A.Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名 B.web窗体也是类 C.项目
中
所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件 D.以上都不正确 五、下列ASP.NET语句( )正确地创建了一个与SQL Server数据库的连接。 A.SqlConnection con1 = new Connection(“Data Source = localhost; Trusted_Connection =Yes; Initial Catalog = myDB”); B.SqlConnection con1 = new SqlConnection(“Data Source = localhost; Trusted_Connection =Yes; Initial Catalog = myDB”); C.SqlConnection con1 = new OleDbConnection(“Data Source = localhost; Trusted_Connection =Yes; Initial Catalog = myDB”); D.SqlConnection con1 = new SqlConnection(Data Source = localhost; Trusted_Connection =Yes; Initial Catalog = myDB); 六、执行一次无返回值的数据删除,必须用到下面哪些
对象
? ( ) A.SqlConnectionB.SqlDataAdapterC.SqlCommandD.SqlDataReader 七、在ADO.NET
中
,对于Command
对象
的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是( ) A.insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B.ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C.Select操作的Sql语句只能由ExecuteReader()方法来执行; D.ExecuteReader()方法返回一个DataReder
对象
; 八、ASP.NET有多种维护状态的技术,以下哪种是保存在客户端的?( ) A.VIEWSTATEB.SESSIONC.APPLICATIOND.数据CACHE 九、Cookies的默认生命周期有多长? ( ) A.20分钟B.30分钟C. 一天D.随浏览器的关闭而失效 十、int[][] myArray=new int[3][]{ new int[3]{ 5, 6, 2 }, new int[5]{ 6, 9, 7, 8, 3 }, new int[2]{ 3, 2 }}; myArray[2][2]的值是( ) A.9B.2C.6D.越界 十一、要为做了输出缓存的页面
实现
即时判断用户IP来路,可在以下哪种事件
中
实现
? ( ) A.Page.InitB.HttpApplication.BeginRequest C.Page.LoadD.以上都不是 十二、下面哪个SQL语句完全正确( ) A.Select count(*) from (select top 10 * from table order by bb) tb group by cc B.update set bb = bb + 1 from table C.Select count(*) from (select distinct * from table) tb group by cc D.delete * from table 十三、为了
实现
a.aspx的URL重写,下面哪个正则表达式替换可以
实现
?( ) A. Regex.Replace(sUrl, @“/(\d+).aspx”, “a.aspx?ID=$0”, RegexOptions.IgnoreCase) B. Regex.Replace(sUrl, @“/(\d+).aspx”, “/a.aspx?ID=$0”, RegexOptions.IgnoreCase) C. Regex.Replace(sUrl, @“/(\d+).aspx”, “a.aspx?ID=$1”, RegexOptions.IgnoreCase) D. Regex.Replace(sUrl, @“/(\d+).aspx”, “/a.aspx?ID=$1”, RegexOptions.IgnoreCase) 十四、下面javascript代码的输出结果是( ) var aa = new Array(1, 2, 4, 5, 3, 6); var c = 0; for (var i = 0; i < aa.length; ++i){ c += aa.pop(); } document.write(c); 提示:Array.pop()函数将数组内最后一个元素移除并返回该元素 A.7 B.14 C.21 D.以上皆不正确 填空题(共4题): 一、C#
中
判断整型变量k
是否
偶数的语句: 二、有这样的枚举定义:public enum TrainType{ 空调, 快速, 新型, 卧铺 },为
实现
它的按位组合,你会分别赋予它们什么值?请用逗号按顺序分隔开 三、C#
中
为了防止非本程序集的代码访问,可以用什么关键字修饰类或者类成员? 四、为了将table表内bb(datetime类型)字段的数据按年月降序输出,对应的SQL语句为 选择题答案: 1.B,2.D,3.C,4.BC,5.B,6.AC,7.C,8.A,9.D,10.D,11.B,12.AC,13.D,14.B 填空题答案: 1.(k & 1) == 0 或 k % 2 == 0 2.1,2,4,8(答案不定,看情况) 3.internal 4.select * from table order by year(bb) desc, month(bb) desc 1.new有几种用法 第一种:new Class(); 第二种:覆盖方法 public new XXXX(){} 第三种:new 约束指定泛型类声明
中
的任何类型参数都必须有公共的无参数构造函数。 2.如何把一个array复制到arrayList里 foreach( object o in array )arrayList.Add(o); 3.datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview] dataset,datatable,dataview , IList 4.概述反射和序列化 反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的
对象
。您可以使用反射动态地创建类型的实例,将类型绑定到现有
对象
,或从现有
对象
中
获取类型。然后,可以调用类型的方法或访问其字段和属性 序列化:序列化是将
对象
转换为容易传输的格式的过程。例如,可以序列化一个
对象
,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该
对象
。在另一端,反序列化将从该流重新构造
对象
。 5.概述o/r mapping 的原理 利用反射,配置 将类于数据库表映射 6.类成员有( )种可访问形式 可访问形式?不懂。 可访问性:public ,protected ,private,internal 7.用sealed修饰的类有什么特点 sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。 密封类不能同时为抽象类。 sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。 8.列举ADO.NET
中
的五个主要
对象
,并简单描述 connection,command,dataReader,trans,dataset ... 9.执行下面代码后: String strTemp ="abcdefg 某某某"; Int i System.Text.Encoding.Default.GetBytes(strTemp).Length; Int j = strTemp.Length; 问:i=(14 ) ;j=(11 ) i=(14 ) ;j=(11 )
中
文两个字节 10.C#
中
,string str = null 与 string str ="",请尽量用文字说明区别。(要点:说明详细的内存空间分配) string str ="" 分配空间 11.详述.NET里class和struct的异同! class:放在 ? struct放在? struct值传递 类与结构有很多相似之处:结构可以
实现
接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。 12.概述.NET里对
remoting
和 webservice 两项技术的理解和实际
中
的应用。
远程
逻辑调用,remoing接口只能用在.net
中
13.什么是code-behind技术 aspx and cs 14.概述三层结构体系 web/business/dataaccess 15.asp.net如何
实现
MVC模式,举例说明! web/business/dataaccess ---------------------------------------------------------------------------------------------------------- 1.面向
对象
的思想主要包括什么? 答:这个题范围太广,不知道说什么. 2.什么是ASP.net
中
的用户控件 答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面
中
调用,以节省代码.比如登陆可能在
多个
页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整. 3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释? 答:装箱就是把值类型转成引用类型,从MS IL角度看好像是boxing,没记错的话是把值从堆栈转到堆
中
.拆箱相反,重载就是指一个方法名同,参数个数不同,返回值可以相同的方法.CLR是通用语言运行时,其它的不清楚. 4.列举一下你所了解的XML技术及其应用 答:XML可是好东西,保存配置,站与站之间的交流,WEB SERVICE都要用它. 5.值类型和引用类型的区别?写出C#的样例代码。 答:结构是值类型,类是引用类型,所以传结构就是值类型的应用啦,传
对象
或类就是引用类型的,这个不用多写了吧. 6.ADO.net
中
常用的
对象
有哪些?分别描述一下。 答:connection command sqladapter dataset datatable dataview等等.写不完了. 7.如何理解委托? 答:据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法. msdn2005
中
是这样解释的: 委托具有以下特点: 委托类似于 C++ 函数指针,但它是类型安全的。 委托允许将方法作为参数进行传递。 委托可用于定义回调方法。 委托可以链接在一起;例如,可以对一个事件调用
多个
方法。 方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。 C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。 8.C#
中
的接口和类有什么异同。 答:这个异同可多了,要说清楚还真不容易. 9.。net
中
读写数据库需要用到哪些类?他们的作用 答:这个类自已可以写的啊,你是指基类吗?那configuration,sqlconnection,sqlcommand等都要用到. 10.UDP连接和
TCP
连接的异同。 答:前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连结. 11.ASP.net的身份验证方式有哪些?分别是什么原理? 答:form认证,windows集成认证等,原理不清楚. 12.进程和线程分别怎么理解? 答:进程是老子,线程是儿子,没有老子就没有儿子,一个老子可以有
多个
儿子.一个儿子可以成为别人的儿子,一个老子也可以为别的老子生儿子. 13.什么是code-Behind技术。 答:代码分离,这是个明智的东西,像ASP这样混成一堆很不爽.或者可以理解成HTML代码写在前台,C#代码写在后台.当然前台也有脚本,类的调用等,其实写在一起也是可以的. 14.活动目录的作用。 答:这个不明白.请明白的补充一下. 15..net
中
读写XML的类都归属于哪些命名空间? 答:System.Xml 我自已写的就不一定了,嘿嘿. 16.解释一下UDDI、WSDL的意义及其作用。 答:什么东西? 17.什么是SOAP,有哪些应用。 答:SOAP(Simple Object Access Protocol )简单
对象
访问协议是在分散或分布式的环境
中
交换信息并执行
远程
过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的
对象
或代码,在任何平台上,以任何一直语言相互通信。这种相互通信采用的是XML格式的消息,具体请看:http://playist.blogchina.com/2521621.html 18.如何部署一个ASP.net页面。 答:随便啦,想直接上传就直接上传,想打包成EXE就打包,看个人喜好. 19.如何理解.net
中
的垃圾回收机制。 答:GC?
对象
创建了总要清除啊,不然内存哪够用?
.NET Romoting 学习总结(四)——
Remoting
技术细节之多
通道
注册
此文章转载自Sharpings Nonsense的http://www.sharping.net/CommentView,guid,9592435d-5496-45f4-a80e-d0a121d454cf.aspx引言:如果你是一个热爱技术的人,相信看了前面几篇文章后已经迫不及待的去写代码了吧,如果你是一个乐于创新技的术追求者,你一定发现了R
remoting
中
的一些问题是我没讲到的。细节,又
C#
Remoting
的基础介绍
一、
Remoting
基础什么是
Remoting
,简而言之,我们可以将其看作是一种处理方式。从微软的产品角度来看,可以说
Remoting
就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft®.NET
Remoting
提供了一种允许
对象
通过应用程序域与另一
对象
进行交互的框架。这也正是我们使用
Remoting
的原因。为什么呢?在Windows操作系统
中
,是将应用程序分离为单独的进程。这个进程形成了应用程序代码和数据周围的一道边界。
简单的
Remoting
例子
一、
Remoting
的优缺点?优点:1、能让我们进行分布式开发2、
Tcp
通道
的
Remoting
速度非常快3、虽然是
远程
的,但是非常接近于本地调用
对象
4、可以做到保持
对象
的状态5、没有应用程序限制,可以是控制台,winform,iis,windows服务承载
远程
对象
缺点:1、非标准的应用因此有平台限制2、脱离iis的话需要有自己的安全机制二、
Remoting
和Web服务的区别? ASP.NET...
.net
Remoting
用
TCP
和HTTP区别(上)
2010年04月04日 星期日 11:08
Remoting
和WebService都是.Net提供的
远程
访问的方法,
Remoting
具有以下几个优点
1、
Tcp
通道
的
Remoting
速度非常快
2、虽然是
远程
的,但是非常接近于本地调用
对象
3、可以做到保持
对象
的状态
4、没有应用程序限制,可以是控制台,winform,iis,windows服务承载
远程
对象
缺点:
1、不是标准的应用,因此有平台限制
2、脱离ii
C#
110,534
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章