Korelacja zapytania komunikatów LINQ
Przykład LinqMessageQueryCorrelation pokazuje, jak przeprowadzić korelację opartą na zawartości przy użyciu implementacji niestandardowejMessageQuery, w przeciwieństwie do dostarczonego XPathMessageQueryprzez system .
Demonstracje
Niestandardowa MessageQuerykorelacja oparta na zawartości.
Dyskusja
W tym przykładzie pokazano, jak rozszerzyć klasę bazową MessageQuery na potrzeby korelacji. Implementacja niestandardowa , LinqMessageQuery
umożliwia użytkownikom podanie nazwy XName do znalezienia w komunikacie przy użyciu języka XLinq. Dane pobierane przez zapytanie służą do tworzenia klucza korelacji w celu wysyłania komunikatów do odpowiedniego wystąpienia przepływu pracy.
Aby skonfigurować, skompilować i uruchomić przykład
Ten przykład uwidacznia usługę przepływu pracy przy użyciu punktów końcowych HTTP. Aby uruchomić ten przykład, należy dodać odpowiednie listy ACL adresów URL (zobacz Konfigurowanie protokołu HTTP i HTTPS, aby uzyskać szczegółowe informacje), uruchamiając program Visual Studio jako Administracja istrator lub wykonując następujące polecenie w wierszu polecenia z podwyższonym poziomem uprawnień, aby dodać odpowiednie listy ACL. Upewnij się, że domena i nazwa użytkownika zostały zastąpione.
netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
Po dodaniu list ACL adresów URL wykonaj następujące kroki.
Stwórz rozwiązanie.
Skonfiguruj wiele projektów startowych, klikając rozwiązanie prawym przyciskiem myszy i wybierając polecenie Ustaw projekty startowe. Dodaj usługę i klienta (w tej kolejności) jako wiele projektów startowych.
Uruchom aplikację. Konsola klienta wyświetla przepływ pracy wysyłający zamówienie i odbierający identyfikator zamówienia zakupu, a następnie potwierdzając zamówienie. W oknie Usługa zostaną wyświetlone przetwarzane żądania.