c# wcf rest soap wcf-binding

c# - basicHttpBinding & webHttpBinding



wcf rest (1)

Simplemente cree otro punto final usando una dirección diferente ( dos puntos finales no pueden compartir la misma dirección ) - puede modificar el OperationContract existente para crear los métodos no RESTful.

<system.serviceModel> <services> <service name="EReportService.RestServiceImpl" behaviorConfiguration="ServiceBehaviour"> <endpoint address="" binding="webHttpBinding" contract="EReportService.IRestServiceImpl" behaviorConfiguration="web"> </endpoint> <endpoint address="soap" binding="basicHttpBinding" contract="EReportService.IRestServiceImpl" > </endpoint> </service> </services> </system.serviceModel>

Estoy desarrollando un servicio WCF con C # y .NET Framework 4.0.

Estoy usando webHttpBinding para hacer esto:

[OperationContract] [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "filteredOrders/")] OrderContract[] GetOrders(IdsMessage msg); [OperationContract] [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "completeFilteredOrders/")] OrderContract[] LoadCompleteFilteredOrders(IdsMessage msg);

Pero ahora necesito enviar imágenes a ese servicio web usando streaming y necesito agregar basicHttpBinding para hacerlo.

¿Cómo puedo hacer eso con un nuevo [OperationContract] a este servicio web de WCF que usa basicHttpBinding ?

Lo siento, soy muy nuevo en el desarrollo de WCF.

Por cierto, este es mi Web.config :

<configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> </system.web> <system.serviceModel> <services> <service name="EReportService.RestServiceImpl" behaviorConfiguration="ServiceBehaviour"> <endpoint address="" binding="webHttpBinding" contract="EReportService.IRestServiceImpl" behaviorConfiguration="web"> </endpoint> </service> </services> <bindings> <webHttpBinding> <binding maxReceivedMessageSize="2097152" maxBufferSize="2097152" transferMode="Streamed"/> </webHttpBinding> </bindings> <behaviors> <serviceBehaviors> <behavior name="ServiceBehaviour"> <serviceMetadata httpGetEnabled="true"/> <serviceDebug includeExceptionDetailInFaults="true"/> </behavior> </serviceBehaviors> <endpointBehaviors> <behavior name="web"> <webHttp/> </behavior> </endpointBehaviors> </behaviors> <serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> </system.serviceModel> <system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer> <connectionStrings> </connectionStrings> </configuration>