0

我正在使用 ServiceStack 的 funq,我试图在请求结束时控制 IOC 被处置的地方。特别是对于范围 = ReuseScope.Request 的条目。

我在看 RestHandler 的 ProcessRequest 方法,它是由 Asp.NET 直接调用的方法,它的结尾是这样的:

(...)    
        if (doJsonp && !(response is CompressedResult))
                httpRes.WriteToResponse(httpReq, response, (callback + "(").ToUtf8Bytes(), ")".ToUtf8Bytes());
            else
                httpRes.WriteToResponse(httpReq, response);
        }
        catch (Exception ex)
        {
            if (!EndpointHost.Config.WriteErrorsToResponse) throw;
            HandleException(httpReq, httpRes, operationName, ex);
        }
    }

我没有看到对 Funq 处置的提及。我在这里想念什么?谢谢

4

1 回答 1

0

Container Scope 与 Singleton Scope 相同,只有在AppHost 被释放时才会被释放。

RequestScoped 资源在ServiceStackHost.OnEndRequest()中配置

您可以AppHost.Release(object instance)在 AppHost 中覆盖以在 ServiceStack 释放资源时获得通知。

于 2014-02-19T18:31:31.297 回答