-1

我正在寻找 .NET 的框架/容器,它将允许我在运行时创建、使用服务(从这个词的真正意义上 - 不是“Web”服务),所有调用和数据传输都在 .NET 中 - 没有序列化为 SOAP 或通过 HTTP(即像 WCF 一样)。

外面有这样的东西吗?谢谢

4

2 回答 2

2

如果您尝试将数据传输到当前正在执行的 AppDomain 之外,则会进行某种序列化,但您可以控制它是什么。

WCF 允许二进制、SOAP 和自定义序列化程序。就通信方式而言,您仍然有很多选择,WCF 将原生支持命名管道、TCP、HTTP 以及自定义选项。如果您在单台机器上运行,Named Pipes 可能符合您的要求,因为它使用可以产生高吞吐量、低延迟 IPC 的共享内存。

但是,如果您不需要分离 AppDomain,请考虑使用 IOC 容器,例如 Unity ( http://msdn.microsoft.com/en-us/library/dd203104.aspx ) 或任何其他选项:https: //stackoverflow.com/questions/2515124/whats-the-simplest-ioc-container-for-c。IOC 容器将让您实例化您的“服务”并在不知道如何实例化对象的情况下调用它。它可以提供 WCF 和其他 Web 服务所必需的一些相同的解耦优势。

tl; dr:如果使用两个进程,总会有序列化。尝试 IOC 以避免这种性能损失。

于 2012-10-04T19:53:52.437 回答
1

WCF 并不限制您使用 SOAP over HTTP——这是一个常见的误解。您可以将 WCF 与许多不同的底层端点一起使用。

WCF 是几乎每个人都使用这种类型的东西的方式——无论是那个还是 .NET Remoting,但是你不会再看到很多 .NET Remoting 了。

于 2012-10-04T19:16:44.950 回答