我认为我的问题很简单,所以我会坚持这一点:
在没有指定services
元素且仅指定serviceHostingEnvironment
元素的情况下,是否可以通过任何方式公开服务?即以下配置是否足以托管WCF服务?我问,因为我已经看过应用程序 - 据我所知 - 缺少services
元素,我认为这是强制性的。
<serviceHostingEnvironment multipleSiteBindingsEnabled="true">
<serviceActivations>
<add relativeAddress="Service.svc" service="Namespace.To.My.Service" />
</serviceActivations>
</serviceHostingEnvironment>
答案 0 :(得分:1)
使用WCF 4.0,您不需要显式服务配置,而不是先前版本。如果没有明确定义端点,它会自动添加默认端点。 无论您提到的任何配置称为无文件激活,您甚至可以在没有物理.svc文件的情况下激活服务。在WCF 4中,您可以定义虚拟服务激活端点,例如您已定义的端点。
WCF检测服务实现了哪些合同,然后方法AddDefaultEndpoints为服务实现的每个服务合同为每个基地址添加一个默认端点。请注意,仅当未添加任何显式端点(以编程方式或通过配置)时,才会出现此行为。如果您添加一个显式端点,WCF会停止添加默认端点,并且它会控制开发人员进一步自定义端点。