0

2 つ目のサービス コントラクトを追加したときに、Spring.Net 依存性注入に問題が発生しました。

セットアップは次のとおりです。

Service1 と Service2 の 2 つのサービス コントラクト (SVC ファイル) を持つ 1 つの WCF プロジェクト

これが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です

<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 マークアップです

<%@ ServiceHost Language="C#" Debug="true" Service="Service2" Factory="Spring.ServiceModel.Activation.ServiceHostFactory" %>

これが私たちが抱えている問題です。

上記の設定画面では、Service1 が適切に機能し、依存関係の注入も適切に行われています。しかし、Service2 では実行時エラーが発生します。

ServiceHost ディレクティブの Service 属性値として提供されるか、構成要素 system.serviceModel/serviceHostingEnvironment/serviceActivations で提供されるタイプ 'Service2' が見つかりませんでした。

Spring.config、Web.config、および SVC マークアップで WCF.Service1 と WCF.Service2 に完全修飾名でサービス名を宣言しようとしました。これを行うことで、両方の Web サービスをエラーなしで実行できましたが、依存関係の挿入によって Web サービスにオブジェクトを挿入できませんでした。

これは、オブジェクト ID が春の設定で完全修飾名を受け入れないためだと思います。

ここで何が問題なのか、誰にも手がかりがありますか?

4

1 に答える 1

1

Spring .NET 1.3.2 の最新バージョンに更新すると、問題が修正されたようです。ダウンロードしたファイルの参照不良または問題の可能性があります。

于 2012-09-05T17:42:12.857 に答える