您可以通过命名管道自托管 ServiceStack 吗?

Can you Self-Host ServiceStack via Named Pipes?

我需要创建一个能够与其他本地进程进行高性能通信的进程。为此,我正在考虑使用 .Net's named pipes, but I'm wondering how easy (or possible) it would be to create a ServiceStack host 实现,这样我们就可以利用其他 SS 功能?

尚不支持 .NET 命名管道,但是 would make a good feature request

如果您想尝试自己实现,请查看Messaging integrates with ServiceStack从 MQ 服务器接受消息后如何将其委托给 ServiceController 的 ExecuteMessage() API,例如:

public override void Configure(Container container)
{
    container.Register<IMessageService>(c => new RabbitMqServer());

    var mqServer = container.Resolve<IMessageService>();

    mqServer.RegisterHandler<Hello>(m => 
        ServiceController.ExecuteMessage(m));
    mqServer.Start();
}

命名管道实现会做类似的事情,但您需要委托给 ServiceController.Execute()。高性能实现还需要在高效使用线程的情况下执行请求,以便服务器可以同时处理多个请求。