Сконфигурируйте связь клиент-сервер

Вы конфигурируете связь клиент-сервер с помощью объекта, который реализует интерфейс MWHttpClientConfig. Этот интерфейс задает эти свойства:

  • TimeoutMilliSeconds определяет количество времени в миллисекундах, клиент ожидает ответа перед таймаутом

  • ResponseSizeLimit определяет максимальный размер, в байтах, ответа, который принимает клиент.

API обеспечивает реализацию по умолчанию, MWHttpClientDefaultConfig, который автоматически используется, когда клиент HTTP инстанцируют. Чтобы изменить настройку, расширьте MWHttpClientDefaultConfig и передайте его клиентскому конструктору HTTP.

Создайте связь с настройкой по умолчанию

Когда вы создаете клиентскую связь с помощью конструктора по умолчанию, MWHttpClient(), экземпляр MWHttpClientDefaultConfig автоматически используется, чтобы сконфигурировать связь клиент-сервер. Конфигурации модели по умолчанию эти свойства связи:

  • TimeOutMs = 120000

  • ResponseSizeLimit = 64*1024*1024 (64 МБАЙТА)

Создайте связь с пользовательской конфигурацией

Изменить одно или несколько свойств связи:

  1. Реализуйте пользовательскую настройку связи путем расширения интерфейса MWHttpClientDefaultConfig.

  2. Создайте клиентскую связь с помощью одного из конструкторов, который принимает объект настройки.

    • MWHttpClient(MWHttpClientConfig config)

    • MWHttpClient(MWHttpClientConfig config, MWSSLConfig securityConfig)

Этот пример кода создает клиентскую связь со значением тайм-аута 1 000 мс:

class MyClientConfig : MWHttpClientDefaultConfig
{
  public override int TimeoutMilliSeconds
  {
    get { return 1000; }
  }
}
...
MWClient client = new MWHttpClient(new MyClientConfig());
...

Реализация пользовательской настройки связи

Чтобы реализовать пользовательскую настройку связи расширяют интерфейс MWHttpClientDefaultConfig. Интерфейс MWHttpClientDefaultConfig имеет один метод получателя для каждого свойства настройки.

Чтобы указать, что клиент испытывает таймаут после 1 с и может только принять ответы на 4 Мбайта:

class MyClientConfig : MWHttpClientDefaultConfig
{
  public override int TimeoutMilliSeconds
  {
    get { return 60000; }
  }
  public override int ResponseSizeLimit
  {
    get { return 4*1024*1024; }
  }
}