【发布时间】:2012-08-14 20:35:25
【问题描述】:
我正在创建一个自定义 ServiceHost 对象并通过代码对其进行配置。我的服务正在使用 InstanceContextMode.Single 和 ConcurrencyMode.Multiple 并托管在 Windows 服务中。
正如许多博客/文章 (here) 中所述,跨实例共享 StructureMap 容器需要使用自定义的 InstanceProvider、ServiceBehavior 和 ServiceHostFactory。
我的初始化代码如下所示。我不使用配置文件。
var baseAddress = ConfigurationManager.AppSettings["BaseAddress"];
var port = Int32.Parse(ConfigurationManager.AppSettings["Port"]);
Host = new MyServiceHost(typeof(MediaFileServicePrivate), new Uri(string.Format(baseAddress, port)));
var binding = new NetTcpBinding();
Host.AddServiceEndpoint(typeof(IMediaFileServicePrivate), binding, string.Format(baseAddress, port));
如何告诉服务使用我的自定义服务主机工厂?我能找到的所有示例都从配置文件中进行配置。
ServiceHostFactory 是否仅用于 IIS/WAS 托管方案?如果是这样,我如何将 SM 用于自托管的 InstanceContextMode.Single 服务?
【问题讨论】:
标签: wcf structuremap