可以在服务结构中直接恢复可靠的服务(不是单独的OWIN控制器)



Visual Studio 2015 Update 2 2提供了用于服务面料中基于OWIN的控制器的模板。创建的结构向您显示了无状态的可靠服务,而基于OWIN的控制器则显示为2个不同的C#类。这有效。在这种情况下,可靠的服务类只需注册HTTP侦听器,所有调用将被路由到控制器类。从某种意义上说,无状态的可靠服务一旦创建就不在图片中,并且只有在服务启动期间才有用。

我期望看到可靠的服务和一个基于OWIN的控制器。当前的结构似乎是一个补丁。

如果我要将无状态可靠的服务更改为已有的可靠服务,则我无法真正使用状态服务做任何事情,因为我的请求已将其路由到控制器。如果我要与州经理在控制器中进行互动,那么我必须获取对国家服务的引用,然后做我的工作。感到尴尬。

是否有更干净的方法?

服务是您的应用程序容器。服务基础类(SationfulService和NectelessService)是您应用程序的切入点。您可以直接在这些课程中进行聚会,并在其中所有代码现场,也可以使用该入口点来引导其他应用程序框架,例如ASP.NET MVC或可靠的参与者,或其他。服务面料通过服务基础类(例如,ServiceContext,IreliablestateManager用于状态服务等)提供您的所有平台依赖项,并且您可以在代码所在的地方直接在这些类中直接使用它们,或者您可以通过这些依赖项。以及其他一些应用程序框架。

对于ASP.NET,我们使用该服务来引导基于OWIN的Web服务器(Katana,Kestrel,Weblistener),然后向其提供应用程序中间件(MVC,StaticFiles等)。然后,您可以使用您喜欢的依赖项注入框架(Unity,AutoFac,nInject或ASP.NET Core的内置依赖项注入框架)。

这是一个国家服务的示例.Service

最新更新