有没有人成功地将 spring.nets Spring.ServiceModel.ServiceExporter与WCF一起使用?
一些背景......
我正在尝试使用 spring.net 配置 wcf 服务以在 Web 应用程序中使用
在我的项目的第一次迭代中,我通过使用 spring 配置服务对象(我给它的 id requestManagerService)并在 svc 文件中将 springs ServiceHostFactory 指向该对象来成功。svc 文件如下所示:
<%@ ServiceHost Language="C#" Debug="true" Service="requestManagerService" Factory="Spring.ServiceModel.Activation.ServiceHostFactory" %>
但是我不想用 [ServiceContract] 和 [OperationContract] 属性来装饰我的界面/合同。为避免这种情况,您可以使用 springs ServiceExporter。
所以我在我的网络配置中设置了以下内容:
<object id="requestManagerService" type="SupplyAndDemand.Messaging.UI.Web.RequestManagerService, SupplyAndDemand.Messaging.UI.Web"
singleton="false">
</object>
<system.serviceModel>
<services>
<service name="requestManagerService" behaviorConfiguration="DefaultBehavior">
<endpoint address="" binding="basicHttpBinding" contract="SupplyAndDemand.Shared.Interfaces.Services.IRequestManagerService"/>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="DefaultBehavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="True"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
<object id="requestManagerServiceHost" type="Spring.ServiceModel.Activation.ServiceHostFactoryObject, Spring.Services">
<property name="TargetName" value="requestManagerServiceExporter" />
</object>
<object id="requestManagerServiceExporter" type="Spring.ServiceModel.ServiceExporter, Spring.Services">
<!-- The target object to export-->
<property name="TargetName" value="requestManagerService"/>
<!-- The namespace associated with the wcf service-->
<property name="Namespace" value="http://supplyanddemandapp/"/>
<property name="TypeAttributes">
<list>
<object type="System.ServiceModel.ServiceBehaviorAttribute, System.ServiceModel">
<property name="ConfigurationName" value="requestManagerService"/>
</object>
</list>
</property>
</object>
当我运行 Web 应用程序时,我收到以下错误:
“找不到与绑定 BasicHTTPBinding 的端点的方案 http 匹配的基地址。注册的基地址方案是 []”此错误发生在 System.ServiceModel.ServiceHostBase.MakeAbsoluteUri 中)。
显然,这意味着我需要定义一个基地址......但我相信我的问题在于配置 spring 而不是 WCF,因为我使用的是以前在我没有使用导出器时工作的 wcf 配置。
spring 文档暗示配置很简单,我确信我在做一些根本错误的事情 - 有没有人成功地将 ServiceExporter 与 asp.net Web 应用程序一起使用?