CallbackBehaviorAttribute.ConcurrencyMode Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает, поддерживает ли служба один поток, несколько потоков или повторные вызовы.
public:
property System::ServiceModel::ConcurrencyMode ConcurrencyMode { System::ServiceModel::ConcurrencyMode get(); void set(System::ServiceModel::ConcurrencyMode value); };
public System.ServiceModel.ConcurrencyMode ConcurrencyMode { get; set; }
member this.ConcurrencyMode : System.ServiceModel.ConcurrencyMode with get, set
Public Property ConcurrencyMode As ConcurrencyMode
Значение свойства
Одно из значений ConcurrencyMode ; значение по умолчанию Single— .
Исключения
Значение не является одним из значений ConcurrencyMode .
Комментарии
Это свойство указывает, поддерживает ли экземпляр объекта обратного вызова один поток или несколько потоков, которые выполняются одновременно, и если однопоток поддерживается повторно.
Установка инструкций ConcurrencyModeSingle системе ограничить экземпляры службы одним потоком выполнения за раз, что освобождает вас от решения проблем с потоком. Это значение по умолчанию. Значение Multiple означает, что объекты службы могут выполняться несколькими потоками в любое время. В этом случае необходимо обеспечить безопасность потоков и согласованность состояния.
Reentrant также ограничивает доступ к одному потоку одновременно. Однако он позволяет вызывать из метода выполнения службы возвращать и повторно отправлять исполняемую службу. Повторный вызов может выполняться в другом управляемом потоке, но в этом случае исходный поток блокируется на время повторного вызова.
Как правило, если сообщение поступает для экземпляра, который нарушает режим параллелизма, сообщение ожидает, пока экземпляр не будет доступен, или пока не истекает время ожидания.
Кроме того, если ConcurrencyMode задано Single значение и повторный вызов блокируется во время ожидания освобождения экземпляра, система обнаруживает взаимоблокировку и создает исключение.
Дополнительные сведения о параллелизме см. в разделе ServiceBehaviorAttribute.ConcurrencyMode и сеансах, инстантинге и параллелизме.