通过Internet将数据库数据公开给自定义客户端

时间:2013-01-02 00:21:34

标签: c# web-services service

我希望制作一个服务或控制台应用程序,它将等待来自客户端应用程序的通信,根据收到的数据运行查询并将查询结果返回给客户端应用程序。

这样做的原因是将数据库访问信息(用户名,密码,数据库等)从硬编码中删除到客户端。这也将减少客户需要完成的处理量。因此,服务或控制台需要能够同时处理多个连接并快速处理它们。

该服务收到的数据将通过互联网或本地内联网传输,因此需要能够侦听所有端口,或者可以通过单端口监听。

视觉上看起来像这样;

Console / Service

非常感谢任何参考资料或代码片段。

1 个答案:

答案 0 :(得分:5)

您可以通过多种方式公开您的数据:

  • WCF service(s)有几个用于公开不同实体/数据集的操作。您可以公开HTTP / HTTPS或TCP / IP端点,这些端点是最常用的端点之一。
  • WCF Data ServicesOData protocol实施)。这允许以更灵活的方式向客户端公开数据。您向客户端呈现了一系列REST端点(也是HTTP(S)),但是通过指定所有类型的过滤器,它们可以更灵活地告诉您的服务器组件要返回哪些数据。这里更好的部分是你不必在服务器端做太多工作以满足不同类型的查询(与普通的WCF服务相反,通常你必须为每个查询创建一个操作)。

这些是我要检查的选项。 服务器组件可以是Windows服务,在这种情况下,您将被限制为经典WCF服务或要在IIS中托管的Web服务应用程序。

您现在可以深入了解这两种技术。为此提供代码片段几乎是不可能的,因为它们不是易读的片段,而是大量的代码。 我建议你先熟悉这两个选项背后的想法,然后尝试查看一些代码。