2

元の質問を変更しました(許可されていることを願っています)...

SpringServiceレイヤーを公開するためにWCFを使用しました。WCFプロジェクトを作成し、アプリケーションのサービスインターフェイス(IOrderService、ICustomerServiceなど)ごとに、SVCファイルを作成し、web.configに適切な構成を追加しました。これはすべてうまく機能し、Springの依存性注入も機能しています。

SpringのServiceExporterクラスを使用すると、プロセスがさらに簡単になると思います。しかし、私がまだ持っていないことは私に何を与えますか?WCFプロジェクトを必要とせずに同じことを達成できますか?私が尋ねる理由は、私が見たほとんどの例では、WCFプロジェクトにある「.svcファイルの編集」についても言及しているためです。

ASMX WebServiceExporterを使用すると、インターフェイスと少しのXML構成だけでWebサービスを作成できるので、ServiceExporterも同様だと思っていました。

オプション:余談ですが、SpringにWebServiceExporterクラスを1つだけ持ち、exportAs = "WCF |ASMX"などのプロパティを持っている方がよいのではないでしょうか。

ありがとう

4

1 に答える 1

1

まず、これを読んでください: http://www.springframework.net/docs/1.2.0-M1/reference/html/wcf-quickstart.html

Spring の ServiceExporter クラスによって、このプロセスがさらに簡単になることを期待しています。しかし、それは私がまだ持っていないものを私に与えてくれますか?

さて、ホストはエクスポーター オブジェクトを参照する必要があります。

<object id="OpcServiceHost"
type="Spring.ServiceModel.Activation.ServiceHostFactoryObject,Spring.Services">    
<property name="TargetName" value="OpcServiceExporter" /> 
</object>

WCF プロジェクトを必要とせずに同じことを達成できますか?

サービス インターフェイス プロジェクトについて言及していますか? その場合 - spring.net の例は、WCF インターフェイスの Spring 固有の実装がサーバー プロジェクト内で使用され、それ自体のインターフェイス プロジェクトでは使用されないことを示しています。また、基本的な WCF サービス インターフェイス (System.ServiceModel.Dispatcher.IInstanceProvider および System.ServiceModel.Description.IServiceBehavior ) は Spring によってカプセル化されていることにも注意してください。リンクに示されている例は、そのようなプロジェクトは必要ないことを示していますが、インターフェイスはサーバー プロジェクト内で定義されています。

余談ですが、Spring に WebServiceExporter クラスを 1 つだけ用意し、exportAs="WCF | ASMX" などのプロパティを設定する方がよいのではないでしょうか。

オプションではありません - ただし、ServiceExporter クラスの GenerateProxy メソッドを使用してみてください: http://www.springframework.net/docs/1.3.2/api/net-2.0/html/topic16729.html

于 2012-10-17T18:26:36.250 に答える