将服务堆栈集成到自定义服务器中

时间:2013-02-22 17:26:27

标签: servicestack

我有一个用C#编写的自定义HTTP服务器,它在我的应用程序域中提供专门的应用程序服务,例如使用图形呈现仪表板。我没有使用IIS;服务器完全用C#编写,使用HttpListener类直接绑定到它所服务的端口。

我想使用ServiceStack添加一个RESTful API,用于将数据提取到浏览器端代码以改善用户体验,使用相同的Web服务器(因此它可以绑定到相同的HTTPS端口,并共享我的安全模块)。

我发现的网络上的所有示例代码都假定IIS拥有Web端口,或者Service Stack拥有Web端口。在我的用例中,我的自定义应用程序拥有Web端口,并希望将某些HTTP请求委托给Service Stack。

是否有一种简单的方法可以将单个HttpListenerContext传递给Service Stack来处理?我找不到使用谷歌的文档示例,因为所有关键词似乎都太常见了。

在我的自定义代码的上下文中,我已经评估了网址,确定用户有权访问它,只需要生成HttpListenerResponse

简单的示例代码或指向网络文章的指针非常棒。

1 个答案:

答案 0 :(得分:2)

我们之前从未测试过此操作,但AppHostHttpListenerBase.ProcessRequest入口点接受HttpListenerContext

您仍然需要致电new AppHost().Init(),但不需要启动它。