【问题标题】:Windows Communication Foundation vs Sockets, size of client application and metadataWindows Communication Foundation 与套接字、客户端应用程序和元数据的大小
【发布时间】:2011-07-06 05:27:34
【问题描述】:

我开始做一个应用程序,其中优先考虑客户端应用程序的大小,越小越好。我必须从/向服务器检索和添加一些数据、基本的 Add()、GetAll()、Delete(int id) 和安全连接。我不知道,在哪个平台上,应用程序会更小,因为在 wcf 上为了安全我会使用 ssl,在 .NET 套接字上:我不知道如何实现安全性。我担心元数据的大小..
我很困惑..

问候,
塞尔吉乌。

【问题讨论】:

  • 服务器已经写好了吗?如果是这样,它使用哪种协议?当您谈论“应用程序大小”时,这到底指的是什么?二进制图像文件的大小?内存消耗的大小?你只关心你编译的二进制文件的大小还是导入的第三个库的大小很重要?当您说元数据的大小时,您指的是哪些元数据?通过线路发送的消息的元数据或客户端二进制文件中包含的元数据?
  • “优先考虑客户端应用程序大小” - 为什么?似乎是一个糟糕的开始。
  • 我的意思是客户端应用程序 *.exe 的大小,导入库的大小当然很重要。我的意思是服务的元数据。我想我会使用套接字,它给了我 2 个好处:1 . 客户端应用程序的大小 2. 在所有版本的 .NET 上工作
  • “服务元数据”是什么意思?
  • 当你使用 svcutil 生成一个库时,通过你连接到服务,这就是所谓的元数据..

标签: c# .net wcf sockets soap


【解决方案1】:

如果您还没有创建服务器,您可以查看WCF Data Services。它是一种在某些数据源上公开 CRUD 操作的技术(最常见的是 SQL 服务器之上的实体框架)。您将使用 HTTPS 保护数据服务。

【讨论】:

    【解决方案2】:

    您是否正在实现服务器端代码?如果是这样,我建议使用 OpenRasta 通过 RESTful HTTP 执行此操作。 OpenRasta 是一个框架,它为在 RESTful 中实现常见的 HTTP 方法 POST、PUT、GET 和 DELETE 提供了自然的抽象,它应该直接映射到您描述的数据操作。恕我直言,它比任何基于 WCF 的替代方案都要好得多,当然也比重新发明轮子并使用低级套接字 API 做到这一点要好。至于 SSL,这可以与 OpenRasta 一起使用 - 请参阅 this answer

    在客户端,您可以使用简单的 HTTP 请求调用这些操作,显然使用相关的 SSL 代码,有关如何执行此操作的示例,请参阅 this answer。同样,由于在服务器端使用 HTTP,这将比使用低级套接字 API 好得多,因为协议 (HTTP) 已经为您(以及任何其他想要使用资源的人)定义和抽象。

    【讨论】:

    • 你没看懂,优先级是大小,我不知道用什么,哪个大小更小,wcf还是sockets,对于#0中描述的操作。
    • 请看我对这个问题的评论
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多