none
协定应该如何设计? RRS feed

  • 问题

  • 我使用的TCP,并且需要依靠SESSION来维护客户端,又不希望将所有的操作写在一个协定里面,这样的话应该如何设计协定?

    如果使用多个协定的话,因为每个终结点只能使用一个协定,就需要公开多个终结点,但是这样一来,一个客户端就无法维护在一个SESSION里面了

    举个简单的例子:

    假设我的业务系统里面有出售和购买两个类,这两个是单独的没有什么关系,我不希望将这两个类里面所有的方法放到一个协定下面然后绑定终结点公开出去,因为那样在客户端代理里面看起来会特别的混乱

    2012年5月19日 3:51

全部回复

  • 我使用的TCP,并且需要依靠SESSION来维护客户端,又不希望将所有的操作写在一个协定里面,这样的话应该如何设计协定?

    如果使用多个协定的话,因为每个终结点只能使用一个协定,就需要公开多个终结点,但是这样一来,一个客户端就无法维护在一个SESSION里面了

    举个简单的例子:

    假设我的业务系统里面有出售和购买两个类,这两个是单独的没有什么关系,我不希望将这两个类里面所有的方法放到一个协定下面然后绑定终结点公开出去,因为那样在客户端代理里面看起来会特别的混乱

    那就独立为两个终结点啊,URl不同 ..../buy 和.../sell

    Frank Xu Lei--谦卑若愚,好学若饥
    [老徐的网站]:http://www.frankxulei.com/

    [老徐的博客]:http://54peixun.com/Author/frankxulei
    微软WCF中文技术论坛
    微软WCF英文技术论坛

    Windows Azure中文技术论坛

    2012年5月21日 1:43
    版主
  • 但是这样一来,一个客户端就无法维护在一个SESSION里面了,一个终结点就是一个新的连接呀

    而且这里只是假设有买和卖,如果还有其他的呢?几十个上百个业务类,那还要几百个终结点?

    2012年5月21日 4:25
  • 我觉得你可以按业务逻辑将不同功能的类放在不同的服务里面,没有必要全都放在一个服务里面,这样会导致处理,维护,扩展服务会比较麻烦。


    Please mark the replies as answers if they help or unmark if not. If you have any feedback about my replies, please contact msdnmg@microsoft.com Microsoft One Code Framework

    2012年5月23日 5:54
    版主
  • 我是想这么做 ,可是这样一来不同的服务会导致多个SESSION,同时也会产生过个连接,很难维护这些,性能也会降低
    2012年5月25日 4:20
  • 你非要用SESSION吗?本身性能会比PerCall低的。

    可以换一种认证方式嘛。


    快乐在于能够长时间的为自己认为值得的事情努力工作,不管它是什么。

    2012年6月8日 13:49