mam następujący kod:Jak programowo utworzyć BasicHttpBinding?
BasicHttpBinding binding = new BasicHttpBinding();
Uri baseAddress = new Uri ("URL.svc");
EndpointAddress endpointAddress = new EndpointAddress (baseAddress);
var myChannelFactory = new ChannelFactory<IMyInterface> (binding, endpointAddress);
IMyInterface client = null;
try
{
client = myChannelFactory.CreateChannel();
var a = client.WsFunction ("XXXXXX");
((ICommunicationObject)client).Close();
}
catch
{
if (client != null)
{
((ICommunicationObject)client).Abort();
}
}
Gdzie "IMyInterface" jest interfejs, który implementuje mój WS .. na przykład:
[ServiceContract]
public interface IMyInterface
{
[OperationContract]
Result WsFunction1 (string param);
[OperationContract]
Result WsFunction2 (string param);
[OperationContract]
Result WsFunction3 (string param);
}
I zwraca coś takiego:
[DataContract]
public class Result
{
string a = "";
string b = "";
[DataMember]
public string A
{
get { return a; }
set { a = value; }
}
[DataMember]
public string B
{
get { return b; }
set { b = value; }
}
}
Po uruchomieniu tego kodu mogę dotrzeć do WS, ale nigdy nie mogę uzyskać wyniku wypełnionego.
Co robię źle?
Z góry dziękuję!
To by się nie skomplikowało, mały a jest typu ciąg, a duży jest typu bool. –
To dlatego, że zmieniłem nazwy ... ale w rzeczywistości to się kompiluje i WS odbiera komunikat ... ale nie mogę uzyskać wyniku. – Crasher
Przestrzeń nazw wyników jest jednym z probaleńskich sprawców, ale zacznę od wąchania ruchu http debugger. –