• Silverlight WCF RIA服务(十八)共享代码 1


    共享代码 WCF RIA Services允许我们编写在中间层和表示层之间共享的应用逻辑。可以共享源文件或程序集中的代码。和在客户端代码生成主题中描述的自动代码生成方法不同,共享代码在编译时时不能改动的。相反,代码在层间是逐字地拷贝或共享的。
      

    共享代码
    WCF RIA Services允许我们编写在中间层和表示层之间共享的应用逻辑。可以共享源文件或程序集中的代码。和在客户端代码生成主题中描述的自动代码生成方法不同,共享代码在编译时时不能改动的。相反,代码在层间是逐字地拷贝或共享的。

    共享源文件

    可以在中间层添加源文件,然后明确指定这些文件在表示层中共享。有两种方法来在层之间共享源文件。第一种方式是根据命名规范来命名源文件:*.shared.cs或*.shared.vb。第二种方法是使用VS中的文件链接特性。

    共享命名规范

    当对源文件使用共享命名规范(*.shared.cs)时,对共享的源代码文件实施了"push"模型。在编译时,源文件将会从中间层拷贝到客户端。只有在服务端和客户端存在RIA Services 连接时,共享命名规范才会对源文件起作用。



    共享命名规范有以下优点

    1.内置的支持:不需要程序员来保证共享文件同步。

    2.透明性:名字清楚指明了文件想要共享。

    3.自我维护:如果添加了一个共享文件,当解决方案编译时,所有与这个中间层联系的客户端项目都会自动更新。

    4.易理解的调试经验:可以在服务端或客户端的文件中设置断点。

    但它也有如下缺点:

    1.新概念: 程序员必须了解共享命名规范。

    2.文件被宝贝:共享文件是物理性地拷贝到项目中的,就可能造成程序员编辑了拷贝的文件,却在下次编译时丢失了所做的更改(因为源文件没有更改)。

    链接文件

    Linked files是VS中已有的特性,并不是只针对RIA Services的。在项目之间可以存在RIA Services链接,但不必使用链接文件。当使用链接文件方法时,就对共享源文件实施了"pull"模型。在客户端没有文件的拷贝。相反,客户端引用服务端的文件。



    我们还可以让服务端和客户端都连接到其他项目中的文件。



    链接文件方式有以下优点:

    1. 已存在的VS特性:不必学习新的规范。

    2. 文件不是拷贝的:文件仅存在服务端项目中。因此不可以修改拷贝的文件,在下次解决方案编译时也不会丢失更改。

    链接文件方式的缺点:

    1. 需要用户明确的指令 : 必须链接每个共享文件。

    2. 不能自我维护 :当添加或移除共享文件时,客户端需要更新。

    3. 缺乏透明性 : 程序员需要检查文件来确定哪个文件是共享的。

    4. 不好的调试体验 : 不容易确定哪个层引起了中断。

    共享程序集 - Shared Assemblies

    与在项目中共享源文件相反,我们可以报代码编译到类库中,然后再通过程序集引用来共享这个类库。使用WCF RIA Services 类库来确保程序集是兼容的。

    下面的图示例了一个使用WCF RIA Services类库的n层结构的应用程序如何共享代码。中间层和客户层对类库使用程序集引用。

    Powered By D&J (URL:http://www.cnblogs.com/Areas/)
  • 相关阅读:
    PHP Socket服务器搭建和测试
    Linux socket编程示例
    深入浅出讲解:php的socket通信
    Linux系统下/tmp目录文件重启后自动删除
    斐讯K2路由器刷不死固件+openwrt
    php ddos 安全处理代码
    windows通过ftp下载linux文件
    win7 重启dns
    hostname -f 失败解决办法
    ERROR 2003 (HY000): Can't connect to MySQL server on "" (113)
  • 原文地址:https://www.cnblogs.com/Areas/p/2172178.html
Copyright © 2020-2023  润新知