podczas wybierania technologii myślę, że to pomocne pod uwagę nie tylko może technologia swoich potrzeb, ale także tego, czy był to zaprojektowany do swoich potrzeb. Rozumiem przez to, że należy wybrać najlepszą opcję, a nie tylko pierwszą opcję, która wydaje się wystarczająco dobra. Prawdopodobnie możesz rozwiązać ten problem, logując się, zapisując pliki tekstowe lub w inny sposób, ale to nie znaczy, że powinieneś.
Moje zamówienie preferencji w tej sytuacji byłoby
- bazie
- MSMQ
- wszystko
Jeśli nie jest to możliwe, aby zapisać do bazy danych transakcji z jakiegokolwiek powodu następnie MSMQ może ci w tym pomóc. Powinien działać lepiej niż otwarcie połączenia z bazą danych. & Zaangażowanie zapewnia jednak "dobrą" warstwę utrwalania. Minusem jest to, że jest to więcej kodu i kolejny punkt awarii dla twojej aplikacji (nie, że to się nie powiedzie, jeśli zostanie napisane poprawnie, ale więcej kodu oznacza więcej miejsc na błędy).
Można rzucać swoje transakcje w kolejce bardzo łatwo za pomocą coś jak ten
private string queuePath = @".\Private$\myQueue";
MessageQueue queue = new MessageQueue(queuePath);
Message message = new Messge();
message.Id = "messageId";
message.Body = "my content";
queue.Send(message, transaction);
transaction.Complete();
queue.Close();
a następnie pobrać je później za pośrednictwem właściwości odpytywanie: MSMQ querying for a specific message. Istnieje wiele innych funkcjonalności po wyjęciu z pudełka, ale zachowaj to w prostocie.
Niektóre pytania dowiemy się z:
MSMQ na prezydenta! – stefan