2

我修改了我原来的问题(希望这是允许的)......

我已经使用 WCF 来公开我的 Spring Service 层。我创建了一个 WCF 项目,对于我的应用程序中的每个服务接口(IOrderService、ICustomerService 等),我创建了一个 SVC 文件并在 web.config 中添加了适当的配置。这一切都很好,Spring 的依赖注入也很有效。

我希望 Spring 的 ServiceExporter 类可以使这个过程更加简单。但它给了我什么我还没有的东西?它是否允许我在不需要WCF 项目的情况下实现相同的目标?我问的原因是我看到的大多数示例还提到了 WCF 项目中的“编辑 .svc 文件”。

由于 ASMX WebServiceExporter 允许我仅从我的界面和一些 XML 配置创建 Web 服务,因此我认为 ServiceExporter 会类似。

可选:顺便说一句,在 Spring 中只有一个 WebServiceExporter 类并拥有一个属性(例如 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 类并拥有一个属性,例如 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 回答