我有一个相当昂贵的库,我从另一个项目继承。这个程序集通过Unity使用拦截,需要精心设计的Web.config来进行设计时配置。我试图在MSMQ WCF服务中使用此程序集,当程序集中的代码尝试打开由Enterprise Library托管的数据库连接时,我收到错误。
依赖项的解析失败,type = “ServicesImplementation.EntityMaster.IEntityRepository”,name = “(没有)”。在解决时发生异常:例外情况是: InvalidOperationException - 当前类型, ServicesImplementation.EntityMaster.IEntityRepository,是一个接口 并且无法构建。你错过了类型映射吗?
我的问题是,我是否需要承担WCF服务的所有配置职责,或者是否将此配置封装在引用的程序集中。
答案 0 :(得分:1)
您必须在.config文件中包含所有配置。它是获取配置数据的应用程序的defalult源。另请注意,如果您在IIS中托管,则应使用web.config,否则(Windows服务或应用程序) - 使用app.config。可以将节配置提取到另一个文件,并从主配置中引用它。
例如:
Assembly1包含服务定义和主机逻辑 Assembly2实际上主持Assembly1服务。
在这种情况下,所有服务配置必须位于Assembly2 * .config文件中。