2012-05-01 15 views
0

Castleを使用していない場合(他のコードが正しいことを示しています)、非常に簡単なサービスがあります。 私は次のように私のSVCファイルを変更:Castle Windsorでwcfサービスを登録しています

<component id="Reporting.WebService.ReportingWebService" 
      service="Reporting.WebService.IReportingWebService, Reporting.WebService" 
      type="Reporting.WebService.ReportingWebService, Reporting.WebService"> 
</component> 

しかし、私は次のエラーを取得しています:

<%@ ServiceHost Service="Reporting.WebService.ReportingWebService" Factory="Castle.Facilities.WcfIntegration.DefaultServiceHostFactory, Castle.Facilities.WcfIntegration" %> 

と次のようにXMLを使用してサービスを登録

[InvalidOperationException: Could not find a component with name Reporting.WebService.ReportingWebService, did you forget to register it?] Castle.Facilities.WcfIntegration.WindsorServiceHostFactory`1.CreateServiceHost(String constructorString, Uri[] baseAddresses) 
.... 

任意のアイデアなぜ登録されていないのですか? ?

----更新----

私はウィンザーの設定でこれを持っている:

<facilities> 
    <facility id='wcf' 
      type='Castle.Facilities.WcfIntegration.WcfFacility, 
       Castle.Facilities.WcfIntegration' /> 
</facilities> 

とReportingWebServiceは別のアセンブリにimplimentedされます。

+0

ReportingWebServiceは、Webサイトと同じアセンブリ内にありますか、別のアセンブリですか?あなたはWcfFacilityを登録しましたか? – Bronumski

+0

質問の更新をご覧ください。 – mans

+0

あなたはアップデートで何かを逃したと思う:)。私はそれが私に考えを与えてくれたと思います。 – Bronumski

答えて

2

ワイヤがうまく表示されず、アセンブリが見つからないか、タイプがロードされていないと思われることがあります。 Webサービスが別のアセンブリで参照されているため、Webサービスで参照されていることを確認してください。または、Global.asaxでコードを実行して、アセンブリを参照して型をロードするように切り替えます。

var container = new WindsorContainer(); 
container.AddFacility<WcfFacility>() 
     .Register(Component.For<IReportingWebService>().ImplementedBy<ReportingWebService>()); 

//Additional wire up 

//If you are using Windsor 3.0 and above then the following is not needed 
DefaultServiceHostFactory.RegisterContainer(container.Kernel); 
+0

ありがとうございます。私のプロジェクトで直接参照されないように、アセンブリにいくつかのアセンブリを追加する方法はありますか?ウィンドウはそれらをロードし、そこからobkectを使用しますか? – mans

+0

@ user654019 dllを手動で削除し、新しいdllを使用するように設定を更新したいということですか? – Bronumski

+0

はい、サービスの実装への参照がなく、インターフェイス定義を持つプロジェクトへの参照のみが存在することを確認します。 – mans

関連する問題