2011-04-12 3 views
0

Je reçois un Bad Request (Invalid host) lorsque j'essaie d'exécuter mon service C# WCF en mono. Ce service fait partie d'une application, n'étant pas hébergé à l'aide d'un serveur Web.400 Demande incorrecte (hôte non valide) utilisant WCF et mono

J'ai configuré mes services avec les éléments suivants:

<system.serviceModel> 
    <behaviors> 
    <serviceBehaviors> 
     <behavior name="DefaultServiceBehavior"> 
     <serviceMetadata httpGetEnabled="true" /> 
     <serviceDebug includeExceptionDetailInFaults="false" /> 
     </behavior> 
    </serviceBehaviors> 
    </behaviors> 

    <services> 
    <service behaviorConfiguration="DefaultServiceBehavior" name="MyServices.TaskService"> 
     <endpoint address="V1" binding="basicHttpBinding" contract="MyServices.ITaskServiceV1" /> 
     <host> 
     <baseAddresses> 
      <add baseAddress="http://localhost:8731/MyServices/Tasks" /> 
     </baseAddresses> 
     </host> 
    </service> 
    </services> 
</system.serviceModel> 

Lorsque je tente de visiter http://localhost:8731/MyServices/Tasks ou l'une de ses extrémités (y compris ?wsdl), je reçois l'erreur 400.

Je l'ai déployé avec succès en utilisant l'exécution. NET, ne peut pas comprendre ce qui ne va pas pour le déploiement avec mono. Toute aide serait grandement appréciée.

EDIT Version Mono: 2.10.1

+0

Il est toujours utile d'indiquer la version de Mono que vous utilisez ... Particulièrement avec WCF, qui a vu beaucoup de changements et d'améliorations 2.4> 2.6> 2.8> 2.10 – TheNextman

+0

Est-ce que cela se produit même si vous essayez d'accéder au service sur la même machine? – mayu

+0

Ce n'est pas techniquement une réponse. Mais StackOverflow ne me permettra pas de commenter tous les articles pour le moment. Je me demande simplement si vous avez réussi à résoudre ce problème? Depuis le poste si d'avril, j'espère que vous avez eu le temps de le comprendre. Je suis confronté au même type de problème. En fait, j'ai écrit un exemple d'application Silverlight (sur laquelle l'implémentation WCF de Mono est supposée être basée) en utilisant le même code C# exact pour se connecter au service que celui de mon application Mono. L'application Silverlight n'a rencontré aucun problème (s'exécutant à partir de la même machine que l'émulateur). Je suis actuellement en cours d'exécution de la dernière version de Mon – Hydroslide

Répondre

0

J'ai eu la même question aujourd'hui. L'hébergement d'un service wcf dans une application .net 3.5 a fonctionné mais le même code utilisant mono 3.2.2 donne une réponse d'erreur d'hôte invalide. J'ai donc vérifié la source mono et découvert que mono recherche un point de terminaison valide à partir de l'URL de demande en utilisant une comparaison sensible à la casse. Changé mon URL pour l'adapter comme dans mon service config résolu le problème.

Questions connexes