【发布时间】:2010-10-25 15:33:48
【问题描述】:
我正在为 WCF 创建一个自定义行为,该行为(出于互操作性原因)只有在服务公开单个应用程序端点时才能正常工作。
我希望能够使用IServiceBehavior.Validate 方法来检查服务是否只公开了一个应用程序端点。目前我正在做以下事情:
public void Validate(
ServiceDescription serviceDescription,
ServiceHostBase serviceHostBase)
{
if (serviceDescription.Endpoints.Count > 1)
{
throw new InvalidOperationException();
}
}
serviceDescription.Endpoints 不幸包含 所有 端点,包括 IMetadataExchange 端点。这会导致在完全有效的服务上验证失败。
我需要的是一种只计算应用程序(非基础设施)端点的方法,但我无法找到 WCF 本身如何确定哪些是哪些。
【问题讨论】:
标签: c# .net wcf endpoint wcf-behaviour