добавить ссылку на веб-сервис в консольное приложение - PullRequest
7 голосов
/ 20 мая 2009

Я создаю простой веб-сервис в консольном приложении. (PersonService) это мой Program.cs ниже

я пытаюсь добавить ссылку на службу в другое консольное приложение (PersonClient) Как я могу это сделать? я попытался добавить его, щелкнув правой кнопкой мыши, добавить ссылку на службу, указав ссылку и т. д ... но это не сработает.

        [DataContract]
        public class Person
        {
            [DataMember]
            public string FirstName { get; set; }

            [DataMember]
            public string LastName { get; set; }

        }

        [ServiceContract]
        public interface IPersonLookup
        {
            [OperationContract]
            Person GetPerson(int identifier);
        }

        public class PersonService : IPersonLookup
        {
            public PersonService()
            {
            }
            public Person GetPerson(int identifier)
            {
                Person p = new Person();
                p.FirstName="Jane";
                p.LastName="Doe";
                return p;
            }



        }


        class Program
        {
            static void Main(string[] args)
            {
                using (ServiceHost host = new ServiceHost(typeof(PersonService)))
                {
                    WSHttpBinding binding = new WSHttpBinding();
                    host.AddServiceEndpoint(typeof(IPersonLookup), binding, "http://localhost:9090/PersonService");
                    host.Open();
                    Console.WriteLine("Listening....");
                    Console.ReadLine();
                }


            }
        }

Ответы [ 5 ]

11 голосов
/ 17 апреля 2012

Решение:

  1. Создание консольного приложения с использованием visual studio.
  2. Щелкните правой кнопкой мыши проект и выберите «Добавить ссылку на службу ...».
  3. В окне вы найдете кнопку «Дополнительно» внизу.
  4. Нажмите на кнопку, и откроется окно настроек справочника услуг. Внизу есть кнопка «Добавить веб-ссылку».
2 голосов
/ 20 мая 2009

Вам необходимо прочитать о конечных точках WCF MEX. Вот сообщение в блоге, которое может помочь .

0 голосов
/ 03 января 2019
  • Создание консольного приложения.
  • Щелкните правой кнопкой мыши на References и выберите Add Service Ссылка.
  • Нажмите кнопку «Дополнительно» внизу.
  • В новом окне нажмите Добавить веб-ссылку.

    enter image description here

enter image description here

0 голосов
/ 20 мая 2009

Когда вы добавили ссылку на веб-сервис, вы определили пространство имен и «имя класса» для сервиса. Вы должны либо добавить ссылку на пространство имен («using FooNameSpace;»), либо использовать полное имя класса службы («FooNameSpace.BarClass ws = new FooNameSapce.BarClass ()»);

0 голосов
/ 20 мая 2009

У вас есть две консоли, одна из которых запускает ServiceHost - это правильно? Запустить консоль сервера без отладки; затем в IDE добавьте ссылку на WCF в URL. Он должен работать, но ему нужен сервер (ваш второй exe-файл консоли), когда вы запрашиваете mex.

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