首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网页制作-> HTML教程
Remoting和Web服务的区别-.NET教程,Web Service开发
作者:网友供稿 点击:206
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
一、remoting的优缺点?
优点:
1、能让我们进行分布式开发
2、tcp通道的remoting速度非常快
3、虽然是远程的,但是非常接近于本地调用对象
4、可以做到保持对象的状态
5、没有应用程序限制,可以是控制台,winform,iis,windows服务承载远程对象
缺点:
1、非标准的应用因此有平台限制
2、脱离iis的话需要有自己的安全机制

二、remoting和web服务的区别?
    asp.net web 服务基础结构通过将 soap 消息映射到方法调用,为 web 服务提供了简单的 api。通过提供一种非常简单的编程模型(基于将 soap 消息交换映射到方法调用),它实现了此机制。asp.net web 服务的客户端不需要了解用于创建它们的平台、对象模型或编程语言。而服务也不需要了解向它们发送消息的客户端。唯一的要求是:双方都要认可正在创建和使用的 soap 消息的格式,该格式是由使用 wsdl 和 xml 架构 (xsd) 表示的 web 服务合约定义来定义的。 
    . net remoting 为分布式对象提供了一个基础结构。它使用既灵活又可扩展的管线向远程进程提供 .net 的完全对象语义。asp.net web 服务基于消息传递提供非常简单的编程模型,而 .net remoting 提供较为复杂的功能,包括支持通过值或引用传递对象、回调,以及多对象激活和生命周期管理策略等。要使用 .net remoting,客户端需要了解所有这些详细信息,简而言之,需要使用 .net 建立客户端。.net remoting 管线还支持 soap 消息,但必须注意这并没有改变其对客户端的要求。如果 remoting 端点提供 .net 专用的对象语义,不管是否通过 soap,客户端必须理解它们。

三、最简单的remoting的例子
1、远程对象:
建立类库项目:remoteobject

using system;

namespace remoteobject
{
    
public class myobject:marshalbyrefobject
    {
        
public int add(int a,int b)
        {
            
return a+b;
        }
    }
}

2、服务端
建立控制台项目:remoteserver

using system;
using system.runtime.remoting;

namespace remoteserver
{
    
class myserver
    {
        [stathread]
        
static void main(string[] args)
        {
            remotingconfiguration.configure(
"remoteserver.exe.config");
            console.readline();
        }
    }
}

建立配置文件:app.config
<configuration>
    
<system.runtime.remoting>
        
<application name="remoteserver">
            
<service>
                
<wellknown type="remoteobject.myobject,remoteobject" objecturi="remoteobject.myobject"
                    mode
="singleton" />
            
</service>
            
<channels>
                
<channel ref="tcp" port="9999"/>
            
</channels>
        
</application>
    
</system.runtime.remoting>
</configuration>

3、客户端:
建立控制台项目:remoteclient

using system;

namespace remoteclient
{
    
class myclient
    {
        [stathread]
        
static void main(string[] args)
        {
            remoteobject.myobject app 
= (remoteobject.myobject)activator.getobject(typeof(remoteobject.myobject),system.configuration.configurationsettings.appsettings["serviceurl"]);
            console.writeline(app.add(
1,2));
            console.readline();
        }
    }
}

建立配置文件:app.config

<configuration>
 
<appsettings>
 
<add key="serviceurl" value="tcp://localhost:9999/remoteobject.myobject"/>
 
</appsettings>
</configuration>

4、测试
在最后编译的时候会发现编译报错:
1、找不到app.add()
2、找不到remoteobject
这是因为客户端remoteclient没有添加remoteobject的引用,编译器并不知道远程对象存在哪些成员所以报错,添加引用以后vs.net会在客户端也保存一个dll,可能大家会问这样如果对远程对象的修改是不是会很麻烦?其实不麻烦,对项目编译一次vs.net会重新复制dll。
然后直接运行客户端会出现“目标主机拒绝”的异常,也说明了通道没有打开
运行服务端再运行客户端出现“找不到程序集remoteobject”!回头想想可以发现我们并在服务端对remoteobject添加引用,编译的时候通过是因为这个时候并没有用到远程对象,大家可能不理解运行服务端的时候也通过?这是因为没有这个时候还没有激活远程对象。理所当然,对服务端要添加引用远程对象,毕竟我们的对象是要靠远程承载的。
现在再先后运行服务端程序和客户端程序,客户端程序显示3,测试成功。

四、结束语
我们通过一个简单的例子实现了最简单的remoting,对其实质没有做任何介绍,我想通过例子入门才是最简单的。


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·C#时间函数扩展-.NET教程,C#语言
·成人影片女明星jameson推出手机情色铃声服务
·窗体中控件自动随窗体变化大小-.NET教程,组件控件开发
·C#使用CDO发送邮件-.NET教程,C#语言
·浅析nat的类型
·我的字符和文件加密类,128位加密-.NET教程,评论及其它
·数字机顶盒技术综述 (一)
·数字多媒体广播平台及其关键技术
·java 线程安全-JSP教程,Java技巧及代码
·Remoting和Web服务的区别-.NET教程,Web Service开发
最新文章
·如何通过博客月赚几万美金?_网赚技巧
·浅析广告联盟与个人网站的盈利_网赚技巧
·google adsense会议的主要内容回顾_网赚技巧
·赵克:创业基本素质勤奋专业低调务实_站长访谈
·行业网站分析之一:行业网站现状与前景_站长心得
·分享:做网站月入7000的网站赚钱经验_站长心得
·首页所应该达到的几个目标(2)_站长心得
·google sandbox效应_google推广
·google旧瓶装新酒 用遗弃技术开发web新应用_google推广
·认识google优化排名_google推广
相关主题
  • RemotingIIS承载方式-.NET教程,评论及其它
  • Remoting的承载方式是这样的-.NET教程,评论及其它
  • Remoting的事件机制(带具体例子)-.NET教程,评论及其它
  • Remoting服务端和客户端程序该这样模式来写-.NET教程,评论及其它
  • Remoting事件机制续-.NET教程,评论及其它
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭