spring Net
springNet的资源配置文件需要设置为嵌入资源。
springNet的配置问题终于ok了。把所有需要的wcf服务写进spring配置文件。
ontextRegistry.GetContext(); // Force Spring to load configuration
如上代码会强制启动所有的wcf服务,省去了原生wcf需要一个个服务手动启动的麻烦。
服务器端配置如下:
1.原生的wcf终结点配置。服务的命名必须是wcf服务类得完整命名:命名空间,类名,比如:WCFService.Caculater
但是和spring结合使用就没有这个命名上的限制。但是第一个object 的id 必须和服务的name一致。具体如下所示:
<!--readBook-->
<object id="readBook" singleton="false" type="WCFService.ReadBook,WCFService"></object>
<object id="readBookHost" type="Spring.ServiceModel.Activation.ServiceHostFactoryObject,Spring.Services">
<property name="TargetName" value="readBook"></property>
</object>
<service name="readBook" behaviorConfiguration="metadataBehavior">
<host>
<baseAddresses>
<add baseAddress="http://127.0.0.1:80/ReadBook"/>
</baseAddresses>
</host>
<endpoint address="" binding="wsHttpBinding" contract="Contracts.IReadBook"/>
<service>
多个服务发布元数据的问题,需要把终结点配合host使用。否则会出现无法访问metaData的问题。
现在还没有找到原因。
客户端配置:
<resource uri="assembly://Client/Client/Config.ReadBook.xml"/>
url值得格式为:程序集/命名空间/xml文件路径,如果xml不在跟目录下,所在文件夹用点隔开.
比如:Config.ReadBook.xml
Config.My.ReadBook.xml
需要注意的是:要把xml文件通过右键属性设置为潜入资源,才可以正常运行。
浙公网安备 33010602011771号