Pregunta

Tengo el siguiente problema. Déjame describir los pasos que tomé hasta ahora ...

  1. Creé una nueva aplicación de servicio WCF en Visual Studio
  2. Luego actualicé el proyecto a través de Nuget para obtener los últimos libs HTTP Web (webapi.dll)
  3. Luego creé un método de servicio que se ve así

`

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

`

Ahora intentando ver el mi .svc En el Browswer da como resultado un error que dice "Para que la solicitud en operación getData sea una transmisión, la operación debe tener un solo parámetro cuyo tipo es flujo"

Sé que este es un problema con la configuración, simplemente no sé qué debe cambiar en web.config Eso sí, esto parece haber sido un problema común en WCF antes del nuevo soporte HTTP, me sorprende un poco de que esto no funcione fuera de la caja con las nuevas API.

¿Algún consejo?

Gracias

Editar] He incluido mi configuración ...

<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>

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top