Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Obsługa błędów w usłudze Microsoft Point of Service dla platformy .NET (POS dla platformy .NET) jest oparta na modelu obiektowym zgłaszania i przechwytywania wyjątków. Różne wyjątki są zgłaszane w odpowiedzi na błędy środowiska uruchomieniowego, a każdy wyjątek zawiera informacje o błędzie, który go wyzwolił w postaci ErrorCode.
Właściwość ErrorCode zgłaszanego wyjątku zawiera informacje o przyczynie błędu. Możliwe wartości tej właściwości reprezentują pełny zestaw standardowych kodów błędów unified point of service (UnifiedPOS). Aby uzyskać więcej informacji na temat mapowania między kodami błędów UnifiedPOS a wartościami POS for .NET ErrorCode, zobacz POS for .NET Exception Classes.
Usługa POS dla platformy .NET udostępnia cztery klasy wyjątków, aby ułatwić aplikacjom lepszą obsługę błędów. Są to: PosException, PosControlException, PosManagementException, i PosLibraryException.
- PosException to abstrakcyjna klasa, która przechowuje ogólne dane wyjątków. PosException pełni rolę podobną do klasy System.Exception w ramach platformy .NET Framework i jest implementacją klasy UposException w specyfikacji UnifiedPOS. Wszystkie inne klasy wyjątków POS dla platformy .NET wywodzą się z PosException.
- PosControlException to standardowy wyjątek zgłaszany przez usługę POS dla obiektów usługi .NET. PosControlException zawiera właściwość zawierającą ErrorCode informacje o przyczynie wyjątku.
- PosLibraryException przechowuje dane wyjątku generowane przez narzędzie PosExplorer podczas operacji klasy. PosLibraryException nie zawiera właściwości ErrorCode.
- PosManagementException zawiera dane wyjątku generowane przez usługę POS dla interfejsów API zarządzania platformy .NET. PosManagementException nie posiada właściwości ErrorCode.
Obsługa błędów w usłudze POS dla platformy .NET
Obsługa błędów w usłudze POS dla platformy .NET jest zgodna z wytycznymi specyfikacji UnifiedPOS. Obsługa błędów jest sterowana zdarzeniami, używa kodów błędów do przechowywania informacji o wyjątkach i jest w dużej mierze specyficzna dla implementacji.
Obsługa błędów w programie POS dla platformy .NET jest zgodna z następującą ogólną procedurą:
Błąd jest generowany przez wejście sterowane zdarzeniami.
Urządzenie zmienia jego State właściwość, aby wskazać, że wystąpił błąd.
Zdarzenie ErrorEvent jest kolejkowane w celu alertu aplikacji o wystąpieniu błędu. Element ErrorEvent jest dodawany na końcu kolejki.
Jeśli co najmniej jedno zdarzenie DataEvent znajduje się w kolejce przed zdarzeniem ErrorEvent, kolejne zdarzenie ErrorEvent jest umieszczane i dodawane na czele kolejki. Ostrzega aplikację szybko o błędzie, aby mogła reagować w sposób specyficzny dla implementacji przed przetworzeniem zakolejkowanych DataEvents.
Jeśli właściwości aplikacji są skonfigurowane do akceptowania zdarzeń (DataEventEnabled ma wartość true i FreezeEvents jest false), odpowiada na zdarzenie ErrorEvent w sposób określony przez ErrorResponse właściwość, jak wskazano w poniższej tabeli.
Wartość Znaczenie odpowiedzi Przejrzysty Czyści wszystkie buforowane zdarzenia DataEvent i ErrorEvent, opuszcza stan Błąd i zmienia stan urządzenia na Bezczynny. KontynuujWprowadzanie Potwierdza błąd i kieruje urządzenie do dalszego przetwarzania. Urządzenie pozostaje w stanie Błąd i dostarcza dodatkowe zdarzenia danych zgodnie z ustawieniem właściwości DataEventEnabled. Gdy wszystkie dane wejściowe zostaną dostarczone, a właściwość DataEventEnabled zostanie ponownie ustawiona na wartość true, zostanie dostarczone kolejne zdarzenie ErrorEvent z lokacją Input. Retry Przekierowuje urządzenie, aby ponowiło próbę wprowadzenia danych wejściowych. Stan Błędu jest zamykany, a stan jest zmieniany na Stan bezczynności. Ta odpowiedź jest wybierana tylko wtedy, gdy rozdział urządzenia wyraźnie na to zezwala i gdy umiejscowienie to Input. Aplikacja może również wykonać kroki specyficzne dla implementacji, aby w tej chwili zareagować na błąd.