#c# #.net #io #dto
Вопрос:
Мне нужно сохранить входящий DTO на диске для последующего тестирования. Однако мой объект DTO в настоящее время доступен только в контроллере, что кажется неподходящим местом для размещения логики сохранения файлов на диске. Приведенный ниже код показывает, как он в настоящее время реализован в контроллере.
public bool OpretOrdre(OrdreRequestDto ordre)
{
if(Convert.ToBoolean(ConfigurationManager.AppSettings["saveDtoOrder"]))
{
string json = JsonConvert.SerializeObject(ordre, Formatting.Indented);
var filename = string.IsNullOrEmpty(ordre.Id) ? Guid.NewGuid().ToString() : ordre.Id;
File.WriteAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "DTO_Orders", $@"{filename}.json"), json);
}
В моем методе контроллера я выполняю вызов уровня обслуживания, который получает доменную версию DTO. Я думал об отправке DTO на уровень обслуживания, но в идеале это должно работать только с объектами домена.
Каков был бы здесь наилучший подход? Я не уверен, какие существуют рекомендации по сохранению DTO на диске. Немного поискав в гугле, я не получил много информации по этой теме.