编程语言
首页 > 编程语言> > c# – REST调用未触发PreRequestHandlerExecute事件

c# – REST调用未触发PreRequestHandlerExecute事件

作者:互联网

我正在HttpApplication类的PreRequestHandlerExecute事件处理程序中创建我的nhibernate会话.

它适用于MVC,但是,在WCF(REST)中,事件永远不会被触发.

有没有办法让它成为现实或任何其他更好的想法在MVC和WCF / Rest中设置会话?

提前致谢,

AndréCarlucci

解决方法:

我知道了!

我在这篇文章中找到了答案:

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

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

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

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

然后明确告诉我的服务也兼容:

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

并做了!现在我有所有事件以及HttpContext.Current而不是OperationContext.Current

我希望这可以帮助有同样问题的人.

干杯,

AndréCarlucci

标签:c,wcf,global-asax
来源: https://codeday.me/bug/20190527/1160475.html