我有一个自定义的 OperationBehavior。我想一次将它应用于所有操作。不幸的是,不能为整个服务或 web.config 配置 OperationBehaviors。
在测试应用程序中托管 WCF 服务时,我可以执行以下操作:
foreach (var ep in _serviceHost.Description.Endpoints)
{
foreach (OperationDescription od in ep.Contract.Operations)
{
od.Behaviors.Add(new MyOperationBehavior());
}
}
_serviceHost.Open();
但是如何在 IIS 托管的 Web 应用程序中执行此操作?
我试图进入OperationContext.Current.Host.Description.Endpoints
,Application_Start
但在任何操作开始之前当然OperationContext.Current
不可用,所以我的方法失败了。