Форма ASP.NET - как отправить данные формы во внешнюю службу WCF

У меня есть служба WCF в отдельном проекте (часть API). Полностью отделен от моего сайта. Я создал форму на своем сайте ASP.NET (начался с пустого сайта в Visual Studio 2013).

Какой подход к.

  1. Прочтите / соберите значения формы при нажатии кнопки отправки.
  2. Подключитесь к удаленной службе WCF, чтобы отправить в нее данные.
  3. Получить ответ от этой службы WCF?

Я вижу много примеров в Интернете, но в этих примерах все всегда в одном проекте, и я не уверен, что и где принадлежит.

В идеале я хотел бы сначала сделать это без jQuery / AJAX и подумать об их использовании позже.

Вы можете добавить свою службу WCF в качестве ссылки на службу в свой проект.

SᴇM 23.10.2018 14:44
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
1
272
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

На мой взгляд, вы можете добавить ссылку на службу в проект, щелкнув правой кнопкой мыши Project> Reference, чтобы вы могли вызвать метод службы с помощью класса прокси-сервера клиента. Хотя, если вызов службы проходит через HTTP, вы можете отправить запрос post / get в конечную точку службы с помощью класса HttpClient / Webclient / HttpWebRequest. Как и в приведенном ниже коде.

Сущность.

 [DataContract]
public class BookInfo
{
    [DataMember]
    public string Name { get; set; }
}

Метод.

static void Main(string[] args)
    {
        BookInfo bookInfo = new BookInfo()
        {
            Name = "Apple"
        };
        Console.WriteLine(callService(bookInfo));
    }
    private static string callService(BookInfo input)
    {
        string serviceUrl = "http://localhost:90/Service1.svc/booking";
        string stringPayload = "{\"bookInfo\":" + JsonConvert.SerializeObject(input) + "}";
        WebClient client = new WebClient();
        client.Headers["Content-type"] = "application/json";
        client.Encoding = Encoding.UTF8;
        string rtn = client.UploadString(serviceUrl, "POST",stringPayload);
        return rtn;
    }

HttpClient более лаконичен и прост в использовании. Вот официальный документ.

https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient?redirectedfrom=MSDN&view=netframework-4.7.2

Другие вопросы по теме