Utilisation d'API Web WCF (REST) ​​pour prendre en charge les données en streaming

StackOverflow https://stackoverflow.com/questions/5935656

  •  30-10-2019
  •  | 
  •  

Question

J'ai le problème suivant. Permettez-moi de décrire les étapes que j'ai prises jusqu'à présent ...

  1. J'ai créé une nouvelle application de service WCF dans Visual Studio
  2. J'ai ensuite mis à jour le projet via Nuget pour obtenir les derniers libs Web HTTP (Webapi.dll)
  3. J'ai ensuite créé une méthode de service qui ressemble à ceci

`

[ServiceContract]
public interface IService
{
        [OperationContract]
        [WebInvoke(Method="POST", UriTemplate="{value}")]
        string GetData(int value, Stream inputDocument);
}

`

Essayant maintenant de voir mon .svc Dans le Browswer, il en résulte une erreur qui dit "Pour une demande dans l'opération GetData pour être un flux, l'opération doit avoir un seul paramètre dont le type est Stream"

Je sais que c'est un problème avec la configuration, je ne sais tout simplement pas ce qui doit changer web.config Remarquez, cela semble avoir été un problème commun dans WCF avant le nouveau support HTTP, je suis quelque peu surpris que cela ne fonctionne pas hors de la boîte avec les nouvelles API.

Des pointeurs?

Merci

Modifier] J'ai inclus ma configuration ...

<system.serviceModel>
    <services>
      <service name="MyService.Service" behaviorConfiguration="serviceBehaviour">
        <endpoint behaviorConfiguration="endPointBehaviour" address="" binding="webHttpBinding" contract="MyService.IService"/>
      </service>
    </services>    
    <bindings>
      <webHttpBinding>
        <binding transferMode="Streamed" name="webHttpBinding" />
      </webHttpBinding>
    </bindings>

    <behaviors>
      <endpointBehaviors>
        <behavior name="endPointBehaviour">
          <webHttp/>
        </behavior>
      </endpointBehaviors>

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

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top