servicestack,C#,Wcf,Windows Services,servicestack" /> servicestack,C#,Wcf,Windows Services,servicestack" />

C# ServiceStack与Windows服务的通信

C# ServiceStack与Windows服务的通信,c#,wcf,windows-services,servicestack,C#,Wcf,Windows Services,servicestack,我开发了一个多层应用程序。我使用http和ServiceStack(AppHostHttpListenerBase)与windows服务通信。虽然这在干净的环境中可以很好地工作,但我经常发现客户的计算机不是很干净,第一个问题是引入了不需要的代理,导致我的应用程序无法运行。我得到了很多坏消息,应用程序不能很好地工作,而实际上这是客户机器上隐藏的问题的结果。 当我去查询我的端点时,代理会干扰,我会丢失与服务的所有通信 我想回到WCF并使用命名管道,但在此之前,我想知道在ServiceStack世界中

我开发了一个多层应用程序。我使用http和ServiceStack(AppHostHttpListenerBase)与windows服务通信。虽然这在干净的环境中可以很好地工作,但我经常发现客户的计算机不是很干净,第一个问题是引入了不需要的代理,导致我的应用程序无法运行。我得到了很多坏消息,应用程序不能很好地工作,而实际上这是客户机器上隐藏的问题的结果。 当我去查询我的端点时,代理会干扰,我会丢失与服务的所有通信

我想回到WCF并使用命名管道,但在此之前,我想知道在ServiceStack世界中是否有更好的方法(我非常喜欢)
思想?建议?

如果本地HTTP代理导致问题,您可以尝试使用SSL,它将使您的流量作为不透明二进制文件通过其代理进行隧道传输,从而最大限度地降低干扰的可能性

为HttpListener配置SSL的方式与为所有HttpListener配置SSL的方式相同,即它不是特定于ServiceStack的,需要在运行它的操作系统上进行配置

此答案显示了如何在Windows上配置SSL:

您将能够在ServiceStack HttpListener self-host中使用https,方法是执行上述步骤,我使用“https://*:8443/”作为url,使用“CN=localhost”绕过SSL浏览器警告对话框


答案中没有明确说明,但您可以从证书的“详细信息”选项卡获取指纹,然后需要在其中删除空格。如果更简单,您可以按照下面答案中的演练使用MMC导入证书:

,但这需要在每台计算机上安装一个证书。这是一款面向消费者的应用程序。。。不可行。@Jeff更多地考虑为有问题的客户提供一个潜在的解决方案。