【.NetRemoting-3】2015.09.18
【Remoting程序的基本实现】
【一】服务程序集
【1】服务对象必须要求继承【MBR,MarshalByRefObject】
【二】服务端应用程序
【1】注册通道
【两种类型的通道】
【A】发送请求的通道,要求实现IChannelSender 接口
【B】接受请求的通道,要求实现IChannelReceiver 接口
【.Net提供的内置通道】==>均实现了IChannelSender,IChannelReceiver,IChannel
【HttpChannel】
==>可实现跨防火墙
==>【消息】通过【SOAP】格式化
【TcpChannel】
==>无法跨防火墙
==>【消息】通过【二进制】格式化
【IcpChannel】
==>不能跨计算机,只能在同一台计算机内跨线程访问。
==>底层基于【命名管道,Named Pipe】
【代码实现】
【A】实例化Channel对象
==>两种构造Channel对象的方法
【B】使用ChannelServices.RegisterChannel(channelobj,bool)注册通道
【2】注册类型==>告知客户端,宿主应用程序域中哪些对象是可以被客户端访问到的
【服务对象的三种激活方式】
【1】客户端激活
【2】服务端激活Singleton【Server activated Singleton】
【3】服务端激活SingleCall【Server activated SingleCall】
【代码实现】
==>使用RemotingConfiguration.RegisterActivatedServiceType(type)【客户端激活】方法
==>使用RemotingConfiguration.RegisterWellKnowServiceType(type,"objUri",activatType)【服务端激活方式】
【3】对象位置
客户端如何知道对象位置?==>URL
【RemotingConfiguration.ApplicationName】属性
【URL形式】
【Service Activated】
==> protocal://hsotadress:port/ApplicationName/ObjectUrl
【Client Activated Object】
==> protocal://hsotadress:port
==> protocal://hsotadress:port/ApplicationName
【三】客户端程序==>Only One Task
===>获取远程对象,调用远程对象方法。
【步骤】
【A】注册类型==>告知.Net该对象应该是在服务端注册的,而非在本地
==>客户端类型注册与服务端类型注册的方法类似【使用RemotingConfiguration】
==>使用RemotingConfiguration.RegisterActivatedClientType(type,uri)【客户端激活】方法
==>使用RemotingConfiguration.RegisterWellKnowClientType(type,"uri")【服务端激活方式】
【B】new操作符创建对象
【2】其他创建远程对象的方法
==>【RemotingServices.Connect()】==>简单,较为常用,只能调用无参构造函数,获取对象的同时创建代理
==>【Activator.GetObject()】==>简单,较为常用,只能调用无参构造函数,获取对象的同时创建代理
==>【Activator.CreateInstance()】==>可调用有参构造函数,但只能创建客户激活对象。
【.NetRemoting-3】2015.09.18的更多相关文章
- 【.NetRemoting-2】2015.09.17
[Remoting架构] [1]是.NetFramework的一个重要组成 [2]框架的两个重要特性 [A]基本实现[B]可扩展/可定制 [各个组成部分] [1][客户端,客户端应用程序域] [组成] ...
- 【Unity|C#】基础篇(18)——正则表达式(Regex类)
[学习资料] <C#图解教程>:https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu.com/s/ ...
- 【转帖】2015年2月份最佳的免费 UI 工具包
2015年2月份最佳的免费 UI 工具包 设计师们最喜欢 UI 工具包,这是一种思路拓展的方法,同时可以利用它们来解决各种复杂的项目,同时可用来了解其他设计师的风格.这里我们收集了最近这一个月一些最棒 ...
- 【直播预告】7月18日3D游戏引擎免费公开课答疑,參与送C币!
喜讯喜讯! 为了酬谢广大学员.CSDN学院特推出iOS和3D游戏引擎开发免费技术答疑公开课,让您度过一个充实的暑假~ 參与本次公开课,即有机会获得50C币! 答疑公开课时间:7月18日 晚7:30-9 ...
- 【英语学习】2016.09.11 Culture Insider: Teacher's Day in ancient China
Culture Insider: Teacher's Day in ancient China 2016-09-10 CHINADAILY Today is the 32nd Chinese Te ...
- Python基础教程【读书笔记】 - 2016/7/18
希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第七波:第3章 字符串 介绍如何使用字符串格式化其他的值,并简单了解一下利用字符串的分割.联接.搜索等方法能做些什么. ...
- 【python基础】第09回 数据类型内置方法 01
本章内容概要 1.数据类型的内置方法简介 2.整型相关方法 3.浮点型相关方法 4.字符串相关方法 5.列表相关方法 本章内容详情 1.数据类型的内置方法简介 数据类型是用来记录事物状态的,而事物的状 ...
- 【.Net Remoting-1】
[.NetRemoting]2015.09.16 [分布式应用程序] 应用程序分布在不同计算机上,通过网络来共同完成一项任务 C/S架构[模式] [互操作性,Interoperability]又称[互 ...
- NPOI2.2.0.0实例详解(十)—设置EXCEL单元格【文本格式】 NPOI 单元格 格式设为文本 HSSFDataFormat
NPOI2.2.0.0实例详解(十)—设置EXCEL单元格[文本格式] 2015年12月10日 09:55:17 阅读数:3150 using System; using System.Collect ...
随机推荐
- 1228.1——计算器(未使用MVC设计模式)
#import "ViewController.h"typedef enum{ kStausNum, kStausOperation}kStaus; typedef e ...
- css盒子模型,定位,浮动
1.盒子模型 Margin(外边距) - 清除边框外的区域,外边距是透明的. Border(边框) - 围绕在内边距和内容外的边框. Padding(内边距) - 清除内容周围的区域,内边距是透明的. ...
- html简单样式
1.外部样式表 link rel="stylesheet" type="text/css" href="bbb.css"> 2.内部样 ...
- ES6 let和const命令
一.let定义变量 { let a = 1;} console.log(a);只在let所在的代码块有效,console的结果是a is not defined,报错. 不存在var的变量提升,即使用 ...
- SPOJ 4206 Fast Maximum Matching (二分图最大匹配 Hopcroft-Carp 算法 模板)
题目大意: 有n1头公牛和n2头母牛,给出公母之间的m对配对关系,求最大匹配数.数据范围: 1 <= n1, n2 <= 50000, m <= 150000 算法讨论: 第一反应 ...
- hdu1860
#include<iostream> #include <stdio.h> #include<string> #include <iomanip> us ...
- [Leetcode] Find the minimum in rotated sorted array
我在Github上新建了一个解答Leetcode问题的Project, 大家可以参考, 目前是Java 为主,里面有leetcode上的题目,解答,还有一些基本的单元测试,方便大家起步. 题目: Su ...
- jQuery插件开发入门
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间.这篇文章将概述jQuery插件开发的基本知识,最佳做法和常见的陷阱. 入门 编写一个jQuery插件开始于给jQuery.fn加入 ...
- HTML5 canvas 在线画笔绘图工具(一)
HTML5 canvas 在线画笔绘图工具(一) 功能介绍 这是我用Javascript写的第一个程序,在写的过程中走了很多弯路,所以写完之后想分享出来,给与我一样的初学者做为学习的参考,同时在编写这 ...
- python基础教程第4章——字典
1.映射(mapping):通过名字引用值的数据结构.字典是Python中唯一内建的映射类型,字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)里.键可以是数字.字符串甚至是元组. 2.字 ...