Ich habe den folgenden Beitrag mit Interesse gelesen, da er genau dem Problem entspricht, das ich habe (und das mich in den Wahnsinn treibt) "Damit die Anforderung in der Operation UploadFile ein Stream ist, muss die Operation einen einzelnen Parameter haben, dessen Typ Stream ist." - http://social.msdn.microsoft.com/Forums/en/wcf/thread/80cd26eb-b7a6-4db6-9e6e-ba65b3095267
Ich habe so ziemlich alle Codes/Beispiele befolgt, die ich gefunden habe, und kann diesen Fehler trotzdem nicht umgehen. http://blogs.msdn.com/b/carlosfigueira/archive/2008/04/17/wcf-raw-programming-model-receiving-arbitrary-data.aspx
Alles, was ich erreichen möchte, ist ein Bild (jpeg/png) von einem Android-Gerät unter Verwendung der Standard-Dateinamen/Stream-Parameter zu posten Höchstwahrscheinlich ist es etwas Einfaches, das ich falsch konfiguriert, missverstanden oder ausgelassen habe, aber ich muss eine Lösung für den Nachweis des Konzepts haben.
public interface IConXServer
{
[OperationContract]
[WebInvoke(UriTemplate = "UploadImage({fileName})", Method="POST")]
void UploadImage(string fileName, Stream imageStream);
}
public class ConXWCFServer : IConXServer
{
public void UploadImage(string fileName, Stream imageStream)
{
//implement image save
}
}
web.config-Einstellungen -
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="webHttpEndpoint" helpEnabled="false"/>
</webHttpEndpoint>
</standardEndpoints>
<bindings>
<webHttpBinding>
<binding name="webHttpBinding" transferMode="Streamed"/>
</webHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="webHttpBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="false"/>
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceThrottling maxConcurrentCalls="2147483647" maxConcurrentSessions="2147483647"/>
</behavior>
</serviceBehaviors>
</behaviors>
Ich verwende vs2010 und IIS Express. Wenn ich die obige Methode auskommentiere, funktionieren alle anderen Methoden und geben Daten zurück, ebenso wie die WSDL-Abfrage
Mit freundlichen Grüßen und Dank im Voraus Kern