Реализация журнала аудита для объектов в C#?

Это сводится к следующему: как преобразовать метку времени Unix в удобочитаемую дату?

Есть несколько способов сделать это, но один из самых простых - использовать

var readableData = new Date(doc.data().myUnixTimestamp).toLocaleDateString("en-US");

[114 ] Есть варианты для всех локалей. См. MDN в Date.prototype.toLocaleDateString .

7
задан abmv 30 November 2008 в 14:23
поделиться

4 ответа

Вопрос довольно подобен тому, Как Вы реализуете журнал аудита для своих объектов (Программирование)?

Мы реализовали аналогичное решение, с помощью AOP (aspectJ реализация). Используя этот конкретный могут быть получены точки, и могут быть выполнены определенные операции.

Это может быть включено и включено прочь, когда нам нравится.

Однако наша реализация была в J2EE..

Если бы Вы действительно хотите сделать это в слое приложения, я предложил бы это.

Надежда это помогает..

1
ответ дан 7 December 2019 в 10:09
поделиться

Вы могли реализовать что-то подобное INotifyPropertyChanged с незначительными различиями. Я извлек большинство INotifyPropertyChanged и изменил его, чтобы быть универсальным и сохранить новые и старые значения. У Вас может затем быть своего рода класс управления, который может слушать это и onSaving и onDeleting, можно иметь дело с изменениями.

public interface INotifyProperyChanged<T>
{
   event PropertyChangedEventHandler<T> PropertyChanged;
}

    public delegate void PropertyChangedEventHandler<T>(object sender,   
PropertyChangedEventArgs<T> e);

public class PropertyChangedEventArgs<T> : EventArgs
{
    private readonly string propertyName;

    public PropertyChangedEventArgs(string propertyName)
    {
        this.propertyName = propertyName
    }

    public virtual string PropertyName { get { return propertyName; } }

    public T OldValue { get; set; }
    public T NewValue { get; set; }
}
3
ответ дан 7 December 2019 в 10:09
поделиться

Вы рассмотрели использование простого шаблона уведомления? У Вас мог быть свой уровень служб, генерируют события, такие как NewObject, ChangedObject, DeletedObject, что, будет слушать универсальный уровень служб, который может затем взять объект и сохранить результаты.

Если Вы хотите сохранить состояние объекта, Вы могли бы усилить XML-сериализацию.

Другой подход доступен, если Ваш SQL Server использования 2008, можно реализовать новые опции Аудита, которые позволят Вам контролировать изменения в записях базы данных, которые можно даже отследить (я думаю), когда данные считаны.

1
ответ дан 7 December 2019 в 10:09
поделиться

В дополнение к некоторым вещам, упомянутым в вышеупомянутом потоке, Шаблон "команда" мог бы помочь при обертывании всех изменений состояния на объекте в команде затем, команда может быть ответственна за хранение журнала аудита, в то время как объект не должен волноваться об аудите себя. Конечно, там добавляется наверху к созданию и расположению команд.

Можно перенести команды вокруг любой существующей структуры объекта, Вы просто делегируете свои действия к слою команды в противоположность выполнению их на объектах непосредственно.

1
ответ дан 7 December 2019 в 10:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: