Sdílet prostřednictvím


Přístup k OperationContext

Ukázka AccessingOperationContext ukazuje, jak lze aktivity zasílání zpráv (Receive a Send) použít s vlastní aktivitou oboru pro přístup k Current odchozí nebo příchozí zprávě nebo k načtení vlastní hlavičky zprávy.

Demonstruje

Aktivity zasílání zpráv, ISendMessageCallback, IReceiveMessageCallback.

Diskuse

Tato ukázka ukazuje, jak používat body rozšiřitelnosti (ISendMessageCallback) IReceiveMessageCallbackv aktivitách zasílání zpráv pro přístup Current. Zpětná volání jsou registrována v modulu runtime pracovního postupu jako implementace IExecutionProperty , která je vyzvednuta aktivitami zasílání zpráv při spuštění. Všechny aktivity zasílání zpráv ve stejném rozsahu jako tato IExecutionProperty implementace jsou ovlivněny. Konkrétně tato ukázka používá vlastní aktivitu oboru k vynucení chování zpětného volání. Slouží ISendMessageCallback v pracovním postupu klienta k zahrnutí pracovního postupu jako odchozího MessageHeaderpracovního postupu Id . Tato hlavička se pak vyzvedne ve službě pomocí IReceiveMessageCallback hodnoty záhlaví a vytiskne se do konzoly.

Nastavení, sestavení a spuštění ukázky

  1. Tato ukázka zveřejňuje službu pracovního postupu pomocí koncových bodů HTTP. Chcete-li spustit tuto ukázku, je nutné přidat správné seznamy ACL adres URL (viz Konfigurace protokolu HTTP a HTTPS pro podrobnosti), buď spuštěním sady Visual Studio jako Správa istrator, nebo spuštěním následujícího příkazu na příkazovém řádku se zvýšenými oprávněními přidat příslušné seznamy ACL. Ujistěte se, že se nahradí vaše doména a uživatelské jméno.

    netsh http add urlacl url=http://+:8000/ user=%DOMAIN%\%UserName%
    
  2. Po přidání seznamů ACL adres URL postupujte následovně.

    1. Sestavte řešení.

    2. Nastavte více spouštěných projektů tak, že kliknete pravým tlačítkem na řešení a vyberete Nastavit projekty po spuštění.

    3. Přidejte službu a klienta (v daném pořadí) jako více spouštěcích projektů.

    4. Aplikaci spusťte. Konzola klienta zobrazuje pracovní postup spuštěný dvakrát a v okně Služby se zobrazí ID instance těchto pracovních postupů.