Не было прослушивания конечной точки, хотя я начал свою службу - PullRequest
0 голосов
/ 04 апреля 2019

Пожалуйста, смотрите этот код:

namespace Server.Contracts
{
    [ServiceContract]
    public interface IMessageService
    {
        [OperationContract]
        void DoWork(string message);
    }
}

Сервер

namespace Server
{
    [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
    public class MessageService : IMessageService
    {
        public void DoWork(string message)
        {
            Console.WriteLine(message);
        }
    }
}

Клиент

namespace Client
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 0;
            var location = new[] { "London", "Paris", "New York", "Tokyo" };
            if (Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName).Length <= 2)
            {
                // Start my Server...
                Process.Start(@"C:\Server\bin\Debug\Server.exe");
            }

            i = Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName).Length;
            string loc = location[i];
            new Program().Stt(loc);

        }

        private void Stt(string loc)
        {
            Console.WriteLine("Press ank key to continue...");
            Console.ReadLine();

            var uri = "net.tcp://localhost:4565/MessageService";
            var binding = new NetTcpBinding(SecurityMode.None);
            var channel = new ChannelFactory<IMessageService>(binding);
            var endpoint = new EndpointAddress(uri);
            var proxy = channel.CreateChannel(endpoint);
            if (proxy != null)
                proxy.DoWork(loc);
            Console.ReadLine();
        }       
    }
}

Итак, после того, как я запустил свой server, и одновременно server и clients, я хочу отправить сообщение:

if (proxy != null)
    proxy.DoWork(loc);

Итак, в этот момент я получил эту ошибку, хотя мой сервер и работает:

System.ServiceModel.EndpointNotFoundException: 'Конечной точки не было прослушивание в net.tcp: // localhost: 4565 / MessageService, который может принять сообщение. Это часто вызвано неправильным адресом или SOAP действие. См. InnerException, если имеется, для более подробной информации. '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...