2009-07-16 69 views
4

我在HttpApplication类的的PreRequestHandlerExecute事件处理程序创建我的NHibernate的会议。的PreRequestHandlerExecute事件调用

它工作正常的MVC,但是,当在WCF(REST)的事件从来没有发射。

有没有办法做到这一点或任何其他更好的办法是设置会话都在MVC和WCF /休息吗?

由于提前,

安德烈·卡卢奇

回答

7

我知道了!

我发现本文中的答案:

http://blogs.msdn.com/wenlong/archive/2006/01/23/516041.aspx

当在混合模式下使用WCF,模块拦截在管道的早期阶段的要求:的BeginRequest。这意味着其他事件永远不会被称为

为了解决这个问题,我改变了我的web.config尽在Asp.Net兼容模式WCF工作:

<system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
</system.serviceModel> 

然后明确地告诉我的服务是兼容太:

[AspNetCompatibilityRequirements(RequirementsMode = 
AspNetCompatibilityRequirementsMode.Allowed)] 
public class MyService : IMyService { ... 

完成!现在我有所有的事件,也是HttpContext.Current代替OperationContext.Current

我希望这可以帮助别人同样的问题。

干杯,

安德烈·卡卢奇

+0

当然,另一种选择就是一直在做同样的事情了“WCF方式”。与ASP.NET兼容需要花费。 – 2009-07-16 23:38:30