Ver Mensaje Individual
  #8 (permalink)  
Antiguo 23/09/2015, 13:34
reivajmilenium
 
Fecha de Ingreso: noviembre-2014
Mensajes: 22
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Mantener la sesion

Hola

Es mucho mas sencillo

http://www.wiktorzychla.com/2011/11/managing-cookies-in-wcf-client.html

El codigo queda

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Text;
using System.Threading.Tasks;
using WebService.ServiceReference1.calc;

namespace WebService
{
class Program
{

static void Main(string[] args)


{
//CreateHttpWebRequest("http://localhost:8080/PruebaSuma/services/Calculadora?wsdl");

int c = 0;

CalculadoraClient client = new CalculadoraClient();

CookieContainer tCookieContainer = new CookieContainer();

using (new OperationContextScope(client.InnerChannel))
{
HttpRequestMessageProperty request = new HttpRequestMessageProperty();
request.Headers["Cookie"] = "cookie header value";

OperationContext.Current.OutgoingMessageProperties[
HttpRequestMessageProperty.Name] = request;

while (true)
{
Console.WriteLine(client.getSes()+" "+client.getVersionWeb()+" c="+c);
c++;
}
}

}
}
}

Y el fichero app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="CalculadoraSoapBinding" allowCookies="true"/>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:8080/PruebaSuma/services/Calculadora"
binding="basicHttpBinding" bindingConfiguration="CalculadoraSoapBinding"
contract="ServiceReference1.calc.Calculadora" name="Calculadora" />
</client>
</system.serviceModel>
</configuration>

Es importante remarcar que allowCookies="true"

Gracias por la ayuda