Поделиться через


SocketAsyncEventArgs Конструкторы

Определение

Перегрузки

SocketAsyncEventArgs()

Создает пустой экземпляр SocketAsyncEventArgs.

SocketAsyncEventArgs(Boolean)

Инициализирует объект SocketAsyncEventArgs.

SocketAsyncEventArgs()

Исходный код:
SocketAsyncEventArgs.cs
Исходный код:
SocketAsyncEventArgs.cs
Исходный код:
SocketAsyncEventArgs.cs

Создает пустой экземпляр SocketAsyncEventArgs.

public:
 SocketAsyncEventArgs();
public SocketAsyncEventArgs ();
Public Sub New ()

Исключения

Платформа не поддерживается.

Примеры

В следующем примере кода представлена коллекция многократно используемых SocketAsyncEventArgs объектов.

// Represents a collection of reusable SocketAsyncEventArgs objects.
class SocketAsyncEventArgsPool
{
    Stack<SocketAsyncEventArgs> m_pool;

    // Initializes the object pool to the specified size
    //
    // The "capacity" parameter is the maximum number of
    // SocketAsyncEventArgs objects the pool can hold
    public SocketAsyncEventArgsPool(int capacity)
    {
        m_pool = new Stack<SocketAsyncEventArgs>(capacity);
    }

    // Add a SocketAsyncEventArg instance to the pool
    //
    //The "item" parameter is the SocketAsyncEventArgs instance
    // to add to the pool
    public void Push(SocketAsyncEventArgs item)
    {
        if (item == null) { throw new ArgumentNullException("Items added to a SocketAsyncEventArgsPool cannot be null"); }
        lock (m_pool)
        {
            m_pool.Push(item);
        }
    }

    // Removes a SocketAsyncEventArgs instance from the pool
    // and returns the object removed from the pool
    public SocketAsyncEventArgs Pop()
    {
        lock (m_pool)
        {
            return m_pool.Pop();
        }
    }

    // The number of SocketAsyncEventArgs instances in the pool
    public int Count
    {
        get { return m_pool.Count; }
    }
}

Комментарии

После вызова этого конструктора все свойства будут иметь значения по умолчанию:

  • Ссылки на объекты будут иметь значение NULL

  • Свойства, возвращающие целое число, возвращают ноль.

  • Свойство LastOperation будет равно None.

  • Свойство SendPacketsFlags будет равно TransmitFileOptions.UseDefaultWorkerThread, что указывает, что флаги не будут использоваться.

  • Свойство SocketFlags будет равно None.

Вызывающий объект должен задать соответствующие свойства перед передачей объекта в соответствующий асинхронный метод сокета (xxxAsync).

Применяется к

SocketAsyncEventArgs(Boolean)

Исходный код:
SocketAsyncEventArgs.cs
Исходный код:
SocketAsyncEventArgs.cs
Исходный код:
SocketAsyncEventArgs.cs

Инициализирует объект SocketAsyncEventArgs.

public:
 SocketAsyncEventArgs(bool unsafeSuppressExecutionContextFlow);
public SocketAsyncEventArgs (bool unsafeSuppressExecutionContextFlow);
new System.Net.Sockets.SocketAsyncEventArgs : bool -> System.Net.Sockets.SocketAsyncEventArgs
Public Sub New (unsafeSuppressExecutionContextFlow As Boolean)

Параметры

unsafeSuppressExecutionContextFlow
Boolean

Указывает, следует ли отключить захват и поток контекста выполнения. Поток контекста выполнения следует отключать, только если он обрабатывается более высокими слоями.

Применяется к