我有一个我开发的多层应用程序。我使用http与ServiceStack(AppHostHttpListenerBase)与Windows服务进行通信。虽然这在干净的环境中运行良好,但我经常发现客户计算机不是那么干净,而且最先出现的问题之一是引入了不需要的代理,导致我的应用程序无法运行。我得到了很多坏消息,认为应用程序运行不正常,而实际上它是客户机器上隐藏问题的结果。 当我去查询我的端点时,代理会干扰并且我丢失与服务的所有通信。
我正在考虑回到WCF并使用namedpipes但在我这样做之前,想知道在ServiceStack世界中是否有更好的方法(我非常喜欢) 想法?建议?
答案 0 :(得分:0)
如果本地HTTP代理导致问题,您可以尝试使用SSL,这样您就可以通过代理将流量作为不透明的二进制文件进行隧道传输,从而最大限度地减少干扰。
为HttpListener配置SSL的方式与所有HttpListener相同,即它不是特定于ServiceStack的 - 并且需要在运行它的操作系统上进行配置。
此答案显示了如何在Windows上配置SSL:https://stackoverflow.com/a/11457719/85785
您可以按照上述步骤使用https和ServiceStack HttpListener自托管,我使用" https:// *:8443 /"为网址和" CN = localhost"绕过SSL浏览器警告对话框。
答案中并未明确说明,但您可以从证书的详细信息选项卡中获取指纹,然后您需要删除空格。如果更容易,您可以按照以下答案中的演练使用MMC导入证书:https://stackoverflow.com/a/33905011/85785