Что следует указывать в параметре "endpointConfigurationName" конструктора DuplexClientBase?Что следует указывать в «endpointConfigurationName» конструктора DuplexClientBase?
Независимо от того, что я ставлю там клиент бросает execption, что говорит «Не удалось найти элемент конечной точки по умолчанию, который ссылается на контракт„ServiceReference1.IClientFulfillmentPipeService“в разделе конфигурации клиента ServiceModel. Это может быть потому, что конфигурационный файл был найден для вашего приложения , или потому, что никакой элемент конечной точки, соответствующий этому контракту, не найден в клиентском элементе ».
Я сгенерировал прокси-сервер, используя мастер «Добавить служебную ссылку». Вот исходный код клиента:
class Program
{
static void Main()
{
try
{
var client = new ClientFulfillmentPipeServiceClient(new InstanceContext(new Wrapper()), "*", "net.tcp://localhost:9000/svc");
client.Initialize(1234, "Test");
client.Close();
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}
}
И у меня есть пример сервера WCF, написанного как консольное приложение. Вот реализация:
static void Main()
{
UiWcfSession.OnInitialize += ClientInitialize;
var baseAddresses = new Uri("net.tcp://localhost:9000/");
var host = new ServiceHost(typeof(UiWcfSession), baseAddresses);
var reliableSession = new ReliableSessionBindingElement { Ordered = true, InactivityTimeout = TimeSpan.MaxValue };
var binding =
new CustomBinding(reliableSession, new TcpTransportBindingElement()) { ReceiveTimeout = TimeSpan.MaxValue };
host.AddServiceEndpoint(typeof(IClientFulfillmentPipeService), binding, "svc");
var metadataBehavior = new ServiceMetadataBehavior();
host.Description.Behaviors.Add(metadataBehavior);
var mexBinding = MetadataExchangeBindings.CreateMexTcpBinding();
host.AddServiceEndpoint(typeof(IMetadataExchange), mexBinding, "mex");
host.Open();
Thread.CurrentThread.Join();
}
private static void ClientInitialize(int uiprocessid, string key)
{
Debug.WriteLine("ClientInitialize");
}
Я не использую xml configs.
Не могли бы Вы помочь мне?