Udostępnij za pośrednictwem


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 , LinqMessageQueryumoż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

  1. 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%
    
  2. Po dodaniu list ACL adresów URL wykonaj następujące kroki.

    1. Stwórz rozwiązanie.

    2. 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.

    3. 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.