Как использовать службу wcf в приложении hostconsole из приложения консоли клиента.
Вот сервис wcf:
namespace HostConsoleApplication
{
class Program
{
static void Main(string[] args)
{
using (System.ServiceModel.ServiceHost host = new System.ServiceModel.ServiceHost(typeof(FirstWcfService.Service)))
{
host.Open();
Console.WriteLine("Sai");
Console.ReadLine();
}
}
}
}
Sky, еще раз спасибо. Вы прочитали мои мысли.
Однако я столкнулся с проблемой:
Вот как я изменил приведенный выше код для хоста и клиента:
Хост
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace ConsoleApplication1
{
class Program
{
private static void Main(string[] args)
{
const string endpointAddress = "net.tcp://localhost:8001/Service";
var baseAddress = new Uri(endpointAddress);
using (var host = new ServiceHost(typeof(FirstWcfService.Service), baseAddress))
{
host.AddServiceEndpoint(typeof(FirstWcfService.IService), new NetTcpBinding(), baseAddress);
host.Open();
}
Console.WriteLine("Sai");
Console.ReadLine();
}
}
}
Клиент
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;
namespace ConsoleApplication2
{
class Program
{
private static void Main(string[] args)
{
const string endpointAddress = "net.tcp://localhost:8001/Service";
// this is the client code.. simply put this in another console app
using (var factory = new ChannelFactory<FirstWcfService.IService>(new NetTcpBinding(), endpointAddress))
{
FirstWcfService.IService channel = factory.CreateChannel();
//DateTime d = channel.GetDate();
string h = channel.Hello();
//Console.WriteLine(String.Format("It is {0}", d));
Console.WriteLine(String.Format("It is {0}", h));
}
//// end client code
}
}
}
Хост работает нормально, когда клиент запускается, вот исключение, которое я получаю:
Не удалось подключиться к net.tcp: // localhost: 8001 / Service. Попытка подключения продолжалась в течение промежутка времени 00: 00: 00.8899011. Код ошибки TCP 10061: не удалось установить соединение, поскольку целевая машина активно отказала ему в этом. 127.0.0.1:8001.
Пожалуйста, дайте мне знать, если у вас есть какие-либо предложения.
Спасибо
N * * тысяча двадцать-один