Я поместил некоторые данные в контекст вызова ( CallContext.SetData (key, data)
), где данные относятся к типу, который реализует ILogicalThreadAffinative
. Причина, по которой он реализует ILogicalThreadAffinative, заключается в том, что он должен совместно использоваться несколькими потоками в текущем приложении.
Однако приложение также выполняет удаленные вызовы другой службы, и здесь возникает проблема. Моя реализация ILogicalThreadAffinative не сериализуема и не должна. Даже если бы я пометил его как сериализуемый, удаленное приложение не имеет доступа к сборке, в которой объявлен тип, поэтому оно не сможет десериализовать его. Моя текущая практика с @Autowired проиллюстрирована следующим образом: @Autowired private SomeType someMemberVariable; Лучше ли использовать метод установки и / или ...
Я использую Spring 3.0.x в своем проекте.
Моя текущая практика с @Autowired
проиллюстрирована следующим образом:
@Autowired
private SomeType someMemberVariable;
Является ли использование метода установки лучше и / или предпочтительнее? Под установщиком я подразумеваю следующее:
private SomeType someMemberVariable;
@Autowired
private void setSomeMemberVariable(SomeType newValue)
{
someMemberVariable = newValue;
}
Я понимаю изменяемые и неизменяемые сеттеры, это выходит за рамки этого вопроса.