Чтобы не быть ужасно педантичным, но если Вы интернационализируете код, могло бы быть более полезно иметь средство для получения короткой даты данной культуры, например.:-
using System.Globalization;
using System.Threading;
...
var currentCulture = Thread.CurrentThread.CurrentCulture;
try {
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-us");
string shortDateString = DateTime.Now.ToShortDateString();
// Do something with shortDateString...
} finally {
Thread.CurrentThread.CurrentCulture = currentCulture;
}
, Хотя ясно подход "m/dd/yyyy" значительно более опрятен!!
DTO. Используйте AutoMapper для сопоставления объектов
Я был в этом сценарии несколько раз раньше и могу сказать по опыту в обоих случаях. стороны. Первоначально я просто сериализовал свои сущности и отправлял их как есть. С функциональной точки зрения это работало нормально, но чем больше я вглядывался в это, тем больше понимал, что отправляю больше данных, чем мне нужно, и терял возможность изменять реализацию с обеих сторон. В последующих сервисных приложениях я решил создать DTO, единственная цель которых - получать данные в и из веб-сервиса.
Вне любого взаимодействия, необходимость думать обо всех полях, которые отправляются по сети, очень помогает (для меня), чтобы убедиться, что я не отправляю данные, которые не нужны или, что еще хуже, не должны выходить из строя клиенту.
Как уже упоминалось, AutoMapper - отличный инструмент для сопоставления сущностей с DTO.
Он используется для создания DTO, единственная цель которых - получать данные от веб-службы.Вне любого взаимодействия, необходимость думать обо всех полях, которые отправляются по сети, очень помогает (для меня), чтобы убедиться, что я не отправляю данные, которые не нужны или, что еще хуже, не должны выходить из строя клиенту.
Как уже упоминалось, AutoMapper - отличный инструмент для сопоставления сущностей с DTO.
Он используется для создания DTO, единственная цель которых - получать данные от веб-службы.Вне любого взаимодействия, необходимость думать обо всех полях, которые отправляются по сети, очень помогает (для меня), чтобы убедиться, что я не отправляю данные, которые не нужны или, что еще хуже, не должны выходить из строя клиенту.
Как уже упоминалось, AutoMapper - отличный инструмент для сопоставления сущностей с DTO.
Если вы спрашиваете, могу ли я отправлять сериализованные сущности из веб-службы во внешний мир? тогда ответ определенно отрицательный, если вы сделаете это, вы получите минимальную функциональную совместимость. DTO помогают решить эту проблему, определяя набор '
Я почти всегда создавал dtos для передачи по сети и использования объектов Richter на моем сервере и клиенте. На клиенте у них будет некоторая общая логика представления, а на сервере - бизнес-логика. Сопоставление между dtos и объектами может быть глупым, но это должно происходить. Вам помогут такие инструменты, как AutoMapper.
У меня всегда были проблемы с отправкой объектов nHibernate по сети. В частности, если вы используете модель ActiveRecord. и / или если ваш объект связан с сеансом (фу). Другой неприятный результат состоит в том, что nHibernate может попытаться загрузить объект при входе в метод (до того, как вы сможете к нему добраться), что также может вызвать проблемы.
Итак ... получение сообщения здесь? проблемы, проблемы проблемы ... DTO полностью