我们需要以下类型的服务:
现在,我通过在WCF服务项目中创建SVC文件来实现#1。这些是在配置文件中配置的。我没有在该部分中指定任何内容,似乎SVC文件使用默认绑定(没有name属性的绑定)。这听起来不错吗?
如果我要实现其他类型的服务,我需要在web.config的部分中指定服务并将它们指向它们的特定绑定/行为,或者创建三个单独的服务项目。什么是最佳做法?
我们希望使用T4模板自动生成我们的服务(svc文件)。这一直到现在为止,但如果我继续,我必须生成web.config文件(这使得维护很难)。有没有办法拆分配置文件的system.service模型部分?
感谢。
答案 0 :(得分:0)
web.config(和app.config)文件可以拆分为单独的文件,如下所示。如果这是你想要的,你可以封装整个system.serviceModel元素。
<system.serviceModel>
<services configSource="services.config" />
<behaviors configSource="behavior.config" />
<bindings>
<wsHttpBinding>
<binding name="Http" receiveTimeout="00:10:00">
<security mode="None">
<transport clientCredentialType="None" />
<message clientCredentialType="None" establishSecurityContext="false" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<!-- rest of WCF elements inline as in the bindings element or in other files -->
</system.serviceModel>
您只需要创建每个引用的文件。这是将环境(即Dev,QA,Staging,Prod)特定设置放在单独文件中的好方法,因此您可以参数化部署脚本。