Spring.NET WebServiceExporter和WCF

时间:2012-10-03 16:57:31

标签: spring.net

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

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

我希望Spring的ServiceExporter类可以使这个过程更简单。但它给了我什么,我还没有?它是否允许我在没有需要WCF项目的情况下实现相同的事情?我问的原因是我见过的大多数例子都提到了'编辑.svc文件',它们都在WCF项目中。

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

可选:除此之外,在Spring中只有一个WebServiceExporter类并且具有一个属性,例如,这不是更好吗exportAs =“WCF | ASMX”?

由于

1 个答案:

答案 0 :(得分: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示例显示在服务器项目中使用Spring特定的WCF接口实现,并且不在它自己的接口项目中使用。另请注意,Spring封装了基本的WCF服务接口(System.ServiceModel.Dispatcher.IInstanceProvider和System.ServiceModel.Description.IServiceBehavior)。 链接中给出的示例显示您不需要这样的项目,但是接口是在服务器项目中定义的。

  另外,在Spring中只有一个WebServiceExporter类并且具有一个属性,例如,这不是更好吗exportAs =“WCF | ASMX”?

不是一个选项 - 但是,您可以尝试使用ServiceExporter类的GenerateProxy方法: http://www.springframework.net/docs/1.3.2/api/net-2.0/html/topic16729.html