首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义API需求

自定义API需求
EN

Stack Overflow用户
提问于 2010-06-07 18:33:24
回答 5查看 286关注 0票数 4

我们目前正在为现有系统开发API。

它基本上包装了一些网络请求作为一个易于使用的图书馆,第三方公司应该能够使用我们的产品。

作为API的一部分,有一个事件机制,服务器可以通过一个不断运行的套接字连接调用客户端。

为了最小化服务器上的负载,我们希望每台计算机只有一个连接。目前每个进程都有一个套接字打开,如果您有多个使用API的应用程序,这可能最终导致加载问题。

因此,我的问题是:如果我们希望将API部署为一个独立的程序集,那么解决问题的最佳方法是什么?

我们想到了几个选择:

  • 编写进程外COM对象(不知道这在.Net中是否有效)
  • 包含事件所需的第二个exe文件,它必须是单个实例本身,并打开一个命名管道或通过多个进程进行通信。
  • 从嵌入式资源中提取这个exe文件并执行它。

这些看起来都不太理想。

有更好的主意吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-06-09 19:13:14

我们提出的最佳解决方案是创建一个打开命名管道的windows服务,通过一个套接字连接管理多个客户端进程。

然后,我们的API将能够检测服务是否正在运行/安装,并返回到为客户端创建自己的连接。

第三方可以决定他们是否希望将服务与他们的产品捆绑在一起,但是我们系统的核心应用程序将被安装。

如果没有人有更好的选择的话,我会在几天内把这作为答案。我希望有一种方式来执行我们的组装作为一个新的过程,但所有的道路做这似乎不太可靠。

票数 0
EN

Stack Overflow用户

发布于 2010-06-07 18:44:36

你是说像Net.TCP端口共享这样的东西吗?

票数 0
EN

Stack Overflow用户

发布于 2010-06-07 18:47:33

您可以在打开套接字时修复客户端端口,比如45534。由于一个端口只能由一个进程打开,所以一次只能打开一个进程到服务器的套接字连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2992117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档