Как добавить WebService в C # WinForm? - PullRequest
4 голосов
/ 16 апреля 2009

Как я могу добавить Webservice в WinForm?

У меня нет этой опции, почему?

Спасибо заранее

Ответы [ 3 ]

12 голосов
/ 16 апреля 2009

Вы имеете в виду, что хотите использовать веб-сервис? Или разместить веб-сервис?

Если вы хотите использовать веб-сервис, добавьте WebReference в соответствии с предложением billb.

Если вы хотите разместить веб-службу, невозможно разместить веб-службу ASMX. Однако можно разместить веб-службу WCF.

(Пример. Не включает обработку ошибок или то, что вам нужно.)

Объявите свой контракт

[ServiceContract]
public interface  IWebGui
{
    [OperationContract]
    [WebGet(UriTemplate= "/")]
    Stream GetGrid();
}

Выполнить свой контракт

[ServiceBehavior(InstanceContextMode=InstanceContextMode.Single)]
public class WebGui : IWebGui
{

    public Stream GetGrid()
    {

        string output = "test";


        MemoryStream ms = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(output));
        WebOperationContext.Current.OutgoingResponse.ContentType = "text/html";
        return ms;
    }

}

Затем запустите WebServiceHost для обслуживания вызова

        WebGui webGui = new WebGui();

        host = new WebServiceHost(webGui, new Uri("http://localhost:" + Port));
        var bindings = new WebHttpBinding();

        host.AddServiceEndpoint(typeof(IWebGui), bindings, "");
        host.Open();
7 голосов
/ 24 ноября 2011

Выполните следующие действия

  1. Щелкните правой кнопкой мыши проект в Visual Studio
  2. Выберите Добавить веб-ссылку
  3. Введите URL и продолжите

Когда вы не видите эту опцию

  1. Щелкните правой кнопкой мыши проект в Visual Studio
  2. Выберите Добавить справочник услуг
  3. Нажмите кнопку «Дополнительно»
  4. Нажмите кнопку «Добавить веб-ссылку»
  5. Введите URL и продолжайте
3 голосов
/ 16 апреля 2009

Если щелкнуть правой кнопкой мыши проект в Visual Studio, выберите Добавить веб-ссылку. Затем вы можете создать экземпляр веб-ссылки в WinForm.

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