IDisposable и WCF

Предполагая, что вы используете javascript, используйте это:

/[a-zA-Z]{3,}/

Это будет соответствовать по крайней мере три символа не менее трех букв в любой части строки.

1
задан JiBéDoublevé 12 July 2010 в 14:16
поделиться

2 ответа

Мне это не нравится. Я думаю, что этот класс должен быть а) удален один раз б) кодом, который его создал. IDisposable обычно понимается как способ реализации шаблона RAII . MSDN явно указывает:

Если метод Dispose объекта вызывается более одного раза, объект должен игнорировать все звонки после первого. Объект не должен вызывать исключение если вызывается его метод Dispose многократно. Другие методы экземпляра чем Dispose может бросить ObjectDisposedException, когда ресурсы уже утилизированы.

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

using (var clientFactory = new ClientFactory())
   clientFactory.Client.WCFMethod1();
1
ответ дан 2 September 2019 в 23:07
поделиться

Безусловно, этот код - плохая практика. Именно вызывающая сторона решает, нужен ли экземпляр или нет. Предполагается, что после вызова метода Dispose вызов метода больше не допускается (согласно инструкции, экземпляр переходит в состояние disposed). Представьте, что вы вызываете один метод, затем другой и получаете исключение ObjectDisposed. Немного странно, не так ли?

1
ответ дан 2 September 2019 в 23:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: