0

我在 global.asax 中注册组件。我在每个 web 方法的 try 块中解析并在 finally 块中释放。我为容器创建了一个包装器,以便仅在注册期间直接调用它。Web 方法调用此包装器来解析和释放组件。这次尝试最终添加了很多样板代码。我做得对吗?如果不是我应该怎么做?我正在使用温莎城堡。

[WebMethod]
public void SomeMethod()
{
    ISomeComponent c = null
    try
    {
        c = myContainer.ResolveSomeComponent();
        c.Method();
    }
    finally
    {
        myContainer.Release(c);
    }
}
4

1 回答 1

2

我找到了解决方案。事实证明,我可以将我的组件配置为每个 Web 请求,然后我不必释放它们,因为它们将在请求结束时自动释放。

您可以在本文中找到详细信息:http: //devlicio.us/blogs/krzysztof_kozmic/archive/2010/08/27/must-i-release-everything-when-using-windsor.aspx

于 2012-12-16T22:20:18.723 回答