代码之家  ›  专栏  ›  技术社区  ›  nikmd23

使用ASP.NET MVC控制器的策略注入

  •  0
  • nikmd23  · 技术社区  · 17 年前

    我遇到了来自企业库的策略注入应用程序块与asp.net mvc结合的问题。

    在我的controllerfactory中,我正在创建控制器,然后调用 PolicyInjection.Wrap 在控制器上。这将为管理调用处理程序链的控制器返回一个透明代理。

    最后,我将透明代理转换为 IController 把它还给我。

    这似乎工作得很好,只是我为控制器定义的调用处理程序都没有执行。(例如,我配置了日志处理程序,但piab没有记录任何内容。)

    我的最后一个演员是不是搞砸了?如何 ControllerBase.Execute() 呼叫我的控制器?看来我的代理人应该被利用。有人在ASP.NET控制器上使用PIAB吗?

    2 回复  |  直到 16 年前
        1
  •  1
  •   John Bledsoe    16 年前

    我正在使用piab包装asp.net mvc控制器,我是通过调用

    PolicyInjection.Wrap<IController>(instance)

    它将包装icontroller方法。我还使用策略注入来包装同样被使用的iactioninvoker,它允许记录操作名。

    我还没有成功地使用marshalByRefObject包装包装控制器,但接口包装的工作方式很有魅力。

    如果需要其他信息,可以创建一个接口,其中包含来自icontroller、iactionfilter、iauthorizationfilter、iexceptionfilter和iresultfilter的所有方法,然后让控制器实现该接口。然后,您可以将控制器包装为该接口,并通过策略注入获得更多调用。

    我希望这会有帮助。如果你有更具体的问题,请张贴。

        2
  •  -2
  •   Mike Chaliy    17 年前
    推荐文章