【发布时间】:2016-10-25 20:32:25
【问题描述】:
我在一个带有一个实例的无状态服务中托管 WebApi 控制器。服务实例(我指的是 SF 运行时创建的 WebApiService 类的实例)作为成员字段维护一些瞬态状态,通过内部(线程安全)方法公开状态。 WebApi 控制器需要调用方法来访问该状态。
WebApiService.cs:
-----------------
internal sealed class WebApiService : StatelessService
{
private int _state;
internal int GetState() { return this._state; }
ServiceController.cs:
---------------------
public class ServiceController : ApiController
{
public async Task<IHttpActionResult> GetStateAsync()
{
// Here I'd like to grab somehow the WebApiService instance
// and call its GetState internal method.
我的问题是:
控制器如何获取对 WebApiService 实例的引用?
将 WebApiService 实例存储在静态字段中是否安全(可能在 WebAspiService 构造函数中设置)?
【问题讨论】:
-
那么,让我说对了:您是在无状态服务中实现状态吗?
-
是的,我正在无状态服务中实现一些临时的内存状态!
标签: asp.net-web-api asp.net-web-api2 azure-service-fabric