Quelqu'un at-il avec succès en utilisant spring.nets Spring.ServiceModel.ServiceExporter avec WCF ??WCF et Spring.nets ServiceExporter
fond ..... Certains
Je suis en train de configurer les services WCF avec spring.net pour une utilisation dans une application web
Dans ma première itération du projet I en configurant le succéda un service objet avec ressort (je lui ai donné l'id requestManagerService) et dans le fichier svc I sources montrai ServiceHostFactory à cet objet. Le fichier svc ressemblait à ceci:
<%@ ServiceHost Language="C#" Debug="true" Service="requestManagerService" Factory="Spring.ServiceModel.Activation.ServiceHostFactory" %>
Cependant, je ne veux pas décorer mon interface/contrat avec [ServiceContract] et [OperationContract] attributs. Pour éviter cela, vous pouvez utiliser des ressorts ServiceExporter.
J'ai donc mis en place ce qui suit dans ma config web:
<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>
Quand je lance l'application web je reçois l'erreur suivante:
« Impossible de trouver une adresse de base qui correspond à système http pour le point final avec une liaison BasicHttpBinding. schémas adresse de base sont enregistrés [] » Cette erreur se produit dans System.ServiceModel.ServiceHostBase.MakeAbsoluteUri). De toute évidence, cela implique que je dois définir une adresse de base .... mais je crois que mon problème est de configurer le printemps plutôt que WCF puisque j'utilise wcf config qui fonctionnait auparavant lorsque je n'ai pas utilisé l'exportateur.
Les docs de printemps implique configuration est simple et je suis convaincu que je fais quelque chose de fondamentalement mauvais - quelqu'un a utilisé avec succès le ServiceExporter avec une application web asp.net?