0

在编写自定义IPipelineContributor时,不清楚如何获取对所选处理程序的引用。IDisposable自定义贡献者的目的是在返回结果后处理任何实现的处理程序。

给定以下代码示例:

public class DisposerPipelineContributor : IPipelineContributor
{
    public void Initialize(IPipeline pipelineRunner)
    {
        pipelineRunner.Notify(MyMethod).After<KnownStages.IOperationExecution>();
    }

    PipelineContinuation MyMethod(ICommunicationContext arg)
    {
        return PipelineContinuation.Continue;
    }
}

ICommunicationContext我们可以访问 OpenRasta 自己的类型系统并显示所选处理程序的类型:[OpenRasta.TypeSystem.ReflectionBased.ReflectionBasedType] = {CLR Type: MySelectedHandler}。但是,不清楚如何获取实际用于满足请求的处理程序实例。

4

1 回答 1

1

伊恩,

首先,如果您想要处理对象等功能,您应该使用自己的 IoC 容器,这些框架中的大多数都实现了该功能。

我们将在下一个主要版本中将处理添加到我们与容器的合约中,因为现在或多或少可以这样做,而不是在我们构建 2.0 时。

如果您想自己在处理程序上调用 IDisposable 并且无法切换到成熟的 IoC 容器,您将在 ICommunicationContext.PipelineData 中找到处理程序实例。

于 2011-10-26T19:43:36.727 回答