<msmqTransport>
Powoduje, że kanał przesyła komunikaty w transporcie MSMQ, gdy jest on uwzględniony w powiązaniu niestandardowym.
<Konfiguracji>
<System.servicemodel>
<Powiązania>
<Custombinding>
<Wiązania>
<msmqTransport>
Składnia
<msmqTransport customDeadLetterQueue="Uri"
deadLetterQueue="Custom/None/System"
durable="Boolean"
exactlyOnce="Boolean"
manualAddressing="Boolean"
maxBufferPoolSize="Integer"
maxImmediateRetries="Integer"
maxPoolSize="Integer"
maxReceivedMessageSize="Integer"
maxRetryCycles="Integer"
queueTransferProtocol="Native/Srmp/SrmpSecure"
rejectAfterLastRetry="Boolean"
retryCycleDelay="TimeSpan"
timeToLive="TimeSpan"
useActiveDirectory="Boolean"
useSourceJournal="Boolean"
useMsmqTracing="Boolean"
...>
<msmqTransportSecurity>
</msmqTransportSecurity>
</msmqTransport>
Atrybuty i elementy
W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.
Atrybuty
Atrybut | Opis |
---|---|
Customdeadletterqueue | Identyfikator URI wskazujący lokalizację kolejki utraconych komunikatów dla aplikacji, w której komunikaty wygasły lub nie zostały dostarczone do aplikacji, są przenoszone. W przypadku komunikatów, które wymagają gwarancji ExactlyOnce (tj exactlyOnce . jest ustawiona na true wartość ), ten atrybut jest domyślnie ustawiony na kolejkę komunikatów utraconych w całym systemie w msMQ.W przypadku komunikatów, które nie wymagają żadnych gwarancji (oznacza to, exactlyOnce że jest ustawiona wartość false ), ten atrybut domyślnie ma wartość null .Wartość musi używać schematu net.msmq. Wartość domyślna to null .Jeśli deadLetterQueue parametr ma wartość None lub System , ten atrybut musi być ustawiony na null wartość . Jeśli ten atrybut nie null ma wartości , deadLetterQueue należy ustawić Custom wartość . |
Deadletterqueue | Określa typ kolejki utraconych komunikatów do użycia. Prawidłowe wartości obejmują - Niestandardowe: niestandardowa kolejka deadletter. - Brak: nie należy używać kolejki deadletter. - System: użyj kolejki deadletter systemu. Ten atrybut jest typu DeadLetterQueue. |
Trwałe | Wartość logiczna określająca, czy komunikaty przetwarzane przez to powiązanie są trwałe, czy nietrwałe. Wartość domyślna to true .Trwały komunikat przetrwa awarię menedżera kolejek, podczas gdy komunikat nietrwały. Komunikaty nietrwałe są przydatne, gdy aplikacje wymagają mniejszego opóźnienia i mogą tolerować okazjonalne utracone komunikaty. Jeśli exactlyOnce jest ustawiona wartość true , komunikaty muszą być trwałe. |
Exactlyonce | Wartość logiczna określająca, czy komunikaty przetwarzane przez to powiązanie będą odbierane dokładnie raz. Wartość domyślna to true .Wiadomość może zostać wysłana z gwarancjami lub bez ich możliwości. Zapewnienie umożliwia aplikacji upewnienie się, że wysłany komunikat dotarł do kolejki komunikatów odbierających lub jeśli nie, aplikacja może to określić, odczytując kolejkę utraconych komunikatów. exactlyOnce , gdy jest ustawiona wartość true , wskazuje, że usługa MSMQ zapewni, że wysłana wiadomość zostanie dostarczona do kolejki komunikatów odbierających raz i tylko raz, a jeśli dostarczanie zakończy się niepowodzeniem, komunikat zostanie wysłany do kolejki utraconych komunikatów.Komunikaty wysyłane z ustawioną wartością exactlyOnce true muszą być wysyłane tylko do kolejki transakcyjnej. |
Manualaddressing | Wartość logiczna, która umożliwia użytkownikowi przejęcie kontroli nad adresowanie komunikatów. Ta właściwość jest zwykle używana w scenariuszach routera, w których aplikacja określa, do którego z kilku miejsc docelowych ma być wysyłany komunikat. Po ustawieniu true wartości kanał zakłada, że komunikat został już rozwiązany i nie dodaje do niego żadnych dodatkowych informacji. Użytkownik może następnie indywidualnie adresować każdą wiadomość.W przypadku ustawienia wartości false domyślny mechanizm adresowania Windows Communication Foundation (WCF) automatycznie tworzy adresy dla wszystkich komunikatów.Wartość domyślna to false . |
Maxbufferpoolsize | Dodatnia liczba całkowita określająca maksymalny rozmiar puli buforów. Wartość domyślna to 524288. Wiele części programu WCF używa buforów. Tworzenie i niszczenie buforów za każdym razem, gdy są używane, jest kosztowne, a odzyskiwanie pamięci dla buforów jest również kosztowne. W przypadku pul buforów można pobrać bufor z puli, użyć jej i powrócić do puli po zakończeniu. W związku z tym unika się obciążeń związanych z tworzeniem i niszczeniem buforów. |
maxImmediateRetries | Liczba całkowita określająca maksymalną liczbę natychmiastowych ponownych prób w komunikacie odczytanym z kolejki aplikacji. Wartość domyślna to 5. Jeśli zostanie podjęta maksymalna liczba natychmiastowych ponownych prób dla komunikatu i komunikat nie jest używany przez aplikację, komunikat jest wysyłany do kolejki ponawiania prób w celu ponawiania próby w późniejszym czasie. Jeśli nie określono żadnych cykli ponawiania prób, komunikaty są wysyłane do kolejki komunikatów trucizny lub do nadawcy jest wysyłane potwierdzenie negatywne. |
maxPoolSize | Dodatnia liczba całkowita określająca maksymalny rozmiar puli. Wartość domyślna to 524288. |
Maxreceivedmessagesize | Dodatnia liczba całkowita określająca maksymalny rozmiar komunikatu w bajtach, w tym nagłówki. Nadawca komunikatu odbiera błąd protokołu SOAP, gdy komunikat jest zbyt duży dla odbiornika. Odbiorca odrzuca komunikat i tworzy wpis zdarzenia w dzienniku śledzenia. Wartość domyślna to 65536. |
Maxretrycycles | Liczba całkowita określająca maksymalną liczbę cykli ponawiania prób dostarczenia komunikatów do aplikacji odbieranej. Wartość domyślna to MaxValue. Jeden cykl ponawiania prób próbuje dostarczyć komunikat do aplikacji określoną liczbę razy. Liczba wykonanych prób jest ustawiana przez maxImmediateRetries atrybut . Jeśli aplikacja nie zużyje komunikatu po wyczerpaniu prób dostarczenia, komunikat zostanie wysłany do kolejki ponawiania prób. Kolejne cykle ponawiania składają się z komunikatu zwracanego z kolejki ponawiania prób do kolejki aplikacji w celu ponownego dostarczenia do aplikacji po opóźnieniu określonym przez retryCycleDelay atrybut . Atrybut maxRetryCycles określa liczbę cykli ponawiania prób używanych przez aplikację do próby dostarczenia komunikatu. |
queueTransferProtocol | Określa transport kanału komunikacyjnego w kolejce używany przez to powiązanie. Prawidłowe wartości to - Natywny: użyj natywnego protokołu MSMQ. - Srmp: użyj protokołu SOAP Reliable Messaging Protocol (SRMP). - SrmpSecure: użyj transportu protokołu Soap Reliable Messaging Protocol Secure (SRMPS). Ten atrybut jest typu QueueTransferProtocol. Ponieważ usługa MSMQ nie obsługuje adresowania usługi Active Directory podczas korzystania z protokołu SOAP Reliable Messaging Protocol, nie należy ustawiać tego atrybutu na Srmp lub Srmps, gdy useActiveDirectory jest ustawiona na true wartość . |
rejectAfterLastRetry | Wartość logiczna określająca, jaką akcję należy podjąć dla komunikatu, który zakończył się niepowodzeniem po próbie maksymalnej liczby ponownych prób.true oznacza, że do nadawcy jest zwracane potwierdzenie negatywne, a komunikat zostaje porzucony; false oznacza, że komunikat jest wysyłany do kolejki komunikatów trucizny. Wartość domyślna to false .Jeśli wartość to false , aplikacja odbierający może odczytać kolejkę komunikatów trucizny w celu przetworzenia komunikatów otrutych (czyli komunikatów, które zakończyły się niepowodzeniem).Usługa MSMQ 3.0 nie obsługuje zwracania negatywnego potwierdzenia nadawcy, dlatego ten atrybut zostanie zignorowany w msMQ 3.0. |
Retrycycledelay | Element TimeSpan określający opóźnienie czasu między cyklami ponawiania próby dostarczenia komunikatu, którego nie można dostarczyć natychmiast. Wartość domyślna to 00:10:00. Jeden cykl ponawiania prób próbuje dostarczyć komunikat do aplikacji odbieranej określoną liczbę razy. Liczba wykonanych prób jest określana maxImmediateRetries przez atrybut . Jeśli aplikacja nie może użyć komunikatu po określonej liczbie natychmiastowych ponownych prób, komunikat zostanie wysłany do kolejki ponawiania prób. Kolejne cykle ponawiania składają się z komunikatu zwracanego z kolejki ponawiania prób do kolejki aplikacji w celu ponownego dostarczenia do aplikacji po opóźnieniu określonym przez retryCycleDelay atrybut . Liczba cykli ponawiania jest określana przez maxRetryCycles atrybut . |
timeToLive | Element TimeSpan określający, jak długo komunikaty są prawidłowe przed ich wygaśnięciem i są umieszczane w kolejce utraconych wiadomości. Wartość domyślna to 1.00:00:00, co oznacza 1 dzień. Ten atrybut jest ustawiony, aby upewnić się, że komunikaty wrażliwe na czas nie stają się nieaktualne, zanim zostaną przetworzone przez odbierające aplikacje. Komunikat w kolejce, który nie jest używany przez aplikację odbieraną w określonym przedziale czasu, mówi się, że wygasł. Wygasłe komunikaty są wysyłane do specjalnej kolejki o nazwie kolejka utraconych wiadomości. Lokalizacja kolejki utraconych wiadomości jest ustawiana za pomocą atrybutu customDeadLetterQueue lub odpowiedniego domyślnego ustawienia na podstawie gwarancji. |
Useactivedirectory | Wartość logiczna określająca, czy adresy kolejek powinny być konwertowane przy użyciu usługi Active Directory. Adresy kolejek MSMQ mogą składać się z nazw ścieżek lub nazw formatów bezpośrednich. W przypadku nazwy formatu bezpośredniego program MSMQ rozpoznaje nazwę komputera przy użyciu nazw DNS, NetBIOS lub IP. Przy użyciu nazwy ścieżki program MSMQ rozpoznaje nazwę komputera przy użyciu usługi Active Directory. Domyślnie transport w kolejce programu Windows Communication Framework (WCF) konwertuje identyfikator URI kolejki komunikatów na nazwę formatu bezpośredniego. Ustawiając ten atrybut na true wartość , aplikacja może określić, że transport w kolejce powinien rozpoznać nazwę komputera przy użyciu usługi Active Directory, a nie DNS, NetBIOS lub IP. |
useMsmqTracing | Wartość logiczna określająca, czy komunikaty przetwarzane przez to powiązanie powinny być śledzone. Wartość domyślna to false .Po włączeniu śledzenia komunikaty raportów są tworzone i wysyłane do kolejki raportów za każdym razem, gdy komunikat opuszcza lub dociera do komputera kolejkowania komunikatów. |
useSourceJournal | Wartość logiczna określająca, czy kopie komunikatów przetworzonych przez to powiązanie powinny być przechowywane w kolejce dziennika źródłowego. Wartość domyślna to false .Aplikacje w kolejce, które chcą zachować zapis komunikatów, które opuściły kolejkę wychodzącą komputera, mogą skopiować komunikaty do kolejki dziennika. Gdy komunikat opuści kolejkę wychodzącą i zostanie odebrane potwierdzenie odebrania komunikatu na komputerze docelowym, kopia komunikatu jest przechowywana w kolejce dziennika systemowego komputera wysyłającego. |
Elementy podrzędne
Element | Opis |
---|---|
<msmqTransportSecurity> | Określa ustawienia zabezpieczeń transportu dla tego powiązania. Ten element jest typu MsmqTransportSecurityElement. |
Elementy nadrzędne
Element | Opis |
---|---|
<Wiązania> | Definiuje wszystkie możliwości powiązania niestandardowego. |
Uwagi
Element msmqTransport
umożliwia użytkownikowi ustawienie właściwości w kolejce kanału komunikacyjnego. Kanał komunikacji w kolejce używa kolejkowania komunikatów do transportu.
Ten element powiązania jest domyślnym elementem powiązania używanym przez standardowe powiązanie kolejkowania komunikatów (netMsmqBinding
).