Во-первых, прокси WCF IDisposable
, так что вы можете вид использовать using
:
using(var proxy = new MyProxy()) { // see below - not quite enough
// use proxy
}
К сожалению , WCF также имеет ошибочную реализацию Dispose()
, которая регулярно генерирует исключения. Однако вот действительно крутой трюк , чтобы заставить его работать правильно. Я тоже писал об этом сам , но я думаю, что первая ссылка намного лучше.
Итак: используйте IDisposable
и using
, но используйте это с осторожностью (в данном случае).
Установка поля обычно не имеет значения. Есть несколько крайних случаев (таких как переменные, захваченные несколькими делегатами, статические поля, объекты с длительным сроком службы и т. Д.), Но в целом оставьте это в покое. В частности, не делают это, поскольку теоретически продлевает срок службы:
if(field != null) field = null; // BAD