當我們添加第二個服務合約時,Spring.Net依賴注入存在問題。依賴注入未能注入第二服務合約
這裏的設置:
一兩個服務合同(SVC文件) 服務1和服務2
下面是在Web.config
<services>
<service behaviorConfiguration="DefaultBehavior" name="CrestService">
<endpoint address="https://localhost/Service1.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpEndpointBinding" name="BasicHttpEndpoint" contract="WCF.IService1" />
</service>
<service behaviorConfiguration="DefaultBehavior" name="CrestClientService">
<endpoint address="https://localhost/Service2.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpEndpointBinding" name="BasicHttpEndpoint" contract="WCF.IService2" />
</service>
</services>
這裏的Spring.Config
WCF項目<object id="Service1" type="WCF.Service1, WCF" singleton="false">
<property name="ObjectA" ref="ClassA"/>
</object>
<object id="Service2" type="WCF.Service2, WCF" singleton="false">
<property name="ObjectA" ref="ClassA"/>
</object>
這是Service1.svc標記
<%@ ServiceHost Language="C#" Debug="true" Service="Service1" Factory="Spring.ServiceModel.Activation.ServiceHostFactory" %>
這裏的Service2.svc markedup
<%@ ServiceHost Language="C#" Debug="true" Service="Service2" Factory="Spring.ServiceModel.Activation.ServiceHostFactory" %>
下面是我們所遇到的問題。
通過上面的設置顯示,我們可以使Service1正常工作並正確地獲得依賴注入。但是,對於服務2,我們得到一個運行時錯誤:
The type 'Service2', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.
我試着在Spring.config,Web.config文件和SVC馬克行動WCF.Service1和WCF.Service2完全合格的名稱聲明服務名稱。通過這樣做,我能夠使兩個Web服務無誤地運行,但依賴注入無法注入Web服務中的對象。
我相信這是因爲對象ID不接受春季配置中的全限定名稱。
有沒有人有任何線索可能是這裏的問題?
嘗試更改爲'服務'屬性(位於.svc文件中)中的'WCF.Service2,WCF' – jgauffin