Некоторые настройки действительно требуют атрибутов (вместо настройки). Теперь, хотя я не знаю обо всех таких встречах, по крайней мере для некоторых это имеет смысл. Например, InstanceContextMode и ConcurrencyMode требуют определенного стиля реализации. Другими словами, реализация должна быть записана таким образом, чтобы фактически поддерживать указанные режимы (думать о безгражданстве, жизненном цикле объекта реализации и т. Д.).
В качестве бокового узла: при использовании DI для создания классов реализации для WCF (с помощью специального экземпляра InstanceContextInitializer) вы должны даже убедиться, что вы не изменяете поведение, указанное в поведении службы. Например, политика Windsor по умолчанию для жизни по умолчанию - «Single», поэтому, что бы вы не указали в ServiceBehavior, вы бы эффективно использовали InstanceContextMode.Single - возможно, не то, что вам нравится. По крайней мере, это не легко обнаружить.