ASP.NET Web API在单个服务中自我托管HTTPS和HTTP?

Lee*_*som 6 .net asp.net-web-api

我有一个公开的自我托管的ASP.NET Web API服务,它公开了两个控制器.其中一个我想只能通过HTTPS访问,另一个我不能访问.这可以在一个服务中完成吗?如果是这样,你能提供一些提示吗?看起来我需要注册两个基地址,但我不知道单个服务是如何实现的.

Dar*_*ler 7

您需要创建两个HttpServer实例,一个用于http,另一个用于https.我一直试图找出为什么存在这种限制,因为我知道HttpListener可以处理同一个监听器的注册.

无论如何,如果创建两个HttpServer实例真的不适合你,那么你需要查看Katana项目和Microsoft.Owin.HttpListener.这确实支持多个地址但不幸的是默认的Katana启动代码没有!但是我有很好的权限,有一种方法可以在启动时自定义HttpListener以使其成为可能.