Ciao. Sto facendo dei test ma senza esito positivo per recuperare un file in uno stream utilizzando WCF, ma non c'è verso di farlo funzionare...
Questo è il config lato SERVER
<configuration>
<system.web>
<compilation debug="true" />
</system.web>
<system.serviceModel>
<services>
<service name="NetTcpServiceToHostinWindowsServices.Service1" behaviorConfiguration="MyBehavior">
<host>
<baseAddresses>
<add baseAddress = "net.tcp://localhost:9999/Service1/" />
</baseAddresses>
</host>
<endpoint name ="NetTcpEndPoint"
address =""
binding="netTcpBinding"
bindingConfiguration="StreamedNet"
contract="NetTcpServiceToHostinWindowsServices.IService1">
</endpoint>
<endpoint name ="NetTcpMetadataPoint"
address="mex"
binding="mexTcpBinding"
contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name ="MyBehavior">
<serviceMetadata httpGetEnabled="False"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<netTcpBinding>
<binding
name="StreamedNet"
maxReceivedMessageSize="2147483647"
transferMode="Streamed" />
</netTcpBinding>
</bindings>
</system.serviceModel>
</configuration>
Questo il config lato CLIENT:
<configuration>
<system.serviceModel>
<client>
<endpoint address="net.tcp://localhost:9999/Service1/" binding="netTcpBinding"
bindingConfiguration="StreamedNet" contract="ServiceReference1.IService1"
name="NetTcpEndPoint">
<identity>
<userPrincipalName value="nome.cognome@dominio.local" />
</identity>
</endpoint>
</client>
<bindings>
<netTcpBinding>
<binding name="StreamedNet" transferMode="Streamed" maxReceivedMessageSize="2147483647" />
</netTcpBinding>
</bindings>
</system.serviceModel>
</configuration>
Questo il contratto:
[ServiceContract]
public interface IService1 {
[OperationContract]
Stream GetStreamFile();
}
e questa l'implementazione:
public class Service1 : IService1 {
Stream GetStreamFile() {
string filePath = @"fullpath_del_file";
FileStream fs = null;
try {
fs = File.OpenRead(filePath);
}
catch (Exception ex) { }
return fs;
}
}
Ho guardato mille articoli sul web, ma non riesco a far funzionare questo il tutto.