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.
Definiuje powiązanie, które zapewnia obsługę kolejkowania przez routing komunikatów za pośrednictwem usługi MSMQ.
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding>
<msmqIntegrationBinding>
Składnia
<msmqIntegrationBinding>
<binding closeTimeout="TimeSpan"
customDeadLetterQueue="Uri"
deadLetterQueue="Uri"
durable="Boolean"
exactlyOnce="Boolean"
maxReceivedMessageSize="Integer"
maxRetryCycles="Integer"
name="String"
openTimeout="TimeSpan"
receiveContextEnabled="Boolean"
receiveErrorHandling="Drop/Fault/Move/Reject"
receiveTimeout="TimeSpan"
receiveRetryCount="Integer"
retryCycleDelay="TimeSpan"
sendTimeout="TimeSpan"
serializationFormat="XML/Binary/ActiveX/ByteArray/Stream"
timeToLive="TimeSpan"
useMsmqTracing="Boolean"
useSourceJournal="Boolean">
</binding>
</msmqIntegrationBinding>
Atrybuty i elementy
W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne
Attributes
| Attribute | Description |
|---|---|
| closeTimeout | TimeSpan Wartość określająca interwał czasu podany dla zakończenia operacji zamknięcia. Ta wartość powinna być większa lub równa Zero. Wartość domyślna to 00:01:00. |
| Customdeadletterqueue | Identyfikator URI, który zawiera lokalizację kolejki utraconych komunikatów dla aplikacji, w której są umieszczane komunikaty, które wygasły lub nie powiodły się transfer lub dostarczanie. Kolejka utraconych komunikatów jest kolejką w menedżerze kolejki aplikacji wysyłającej dla wygasłych komunikatów, które nie zostały dostarczone. Identyfikator URI określony przez CustomDeadLetterQueue program musi używać schematu net.msmq. |
| Deadletterqueue | Wartość DeadLetterQueueokreślająca typ kolejki utraconych komunikatów do użycia, jeśli istnieje Kolejka utraconych komunikatów to lokalizacja, w przypadku których nie można dostarczyć komunikatów do aplikacji. W przypadku komunikatów, exactlyOnce które wymagają dokładnie gwarancjiOnce (tj. atrybut jest ustawiony na true), ten atrybut jest domyślnie ustawiony na kolejkę transakcyjnej utraconych komunikatów dla całego systemu w MSMQ.W przypadku komunikatów, które nie wymagają żadnych gwarancji, ten atrybut domyślnie ma wartość null. |
| Trwałe | Wartość logiczna wskazująca, czy komunikat jest trwały, czy nietrwały w kolejce. 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ć sporadyczne utracone komunikaty.
exactlyOnce Jeśli atrybut jest ustawiony na truewartość , komunikaty muszą być trwałe. Wartość domyślna to true. |
| Exactlyonce | Wartość logiczna wskazująca, czy każdy komunikat jest dostarczany tylko raz. Nadawca otrzyma powiadomienie o niepowodzeniach dostarczania. Gdy durable parametr ma falsewartość , ten atrybut jest ignorowany, a komunikaty są przenoszone bez zapewnienia dostarczania. Wartość domyślna to true. Aby uzyskać więcej informacji, zobacz ExactlyOnce. |
| maxReceivedMessageSize | Dodatnia liczba całkowita, która definiuje maksymalny rozmiar komunikatu w bajtach, w tym nagłówki, które są przetwarzane przez to powiązanie. Nadawca komunikatu przekraczającego ten limit otrzyma błąd PROTOKOŁU SOAP. Odbiorca odrzuca komunikat i tworzy wpis zdarzenia w dzienniku śledzenia. Wartość domyślna to 65536. Ta granica rozmiaru komunikatu ma na celu ograniczenie narażenia na ataki typu "odmowa usługi" (DoS). |
| Maxretrycycles | Liczba całkowita wskazująca liczbę cykli ponawiania prób używanych przez funkcję wykrywania komunikatów trucizny. Komunikat staje się komunikatem otrutym, gdy nie powiedzie się wszystkie próby dostarczenia wszystkich cykli. Ustawieniem domyślnym jest 2. Aby uzyskać więcej informacji, zobacz MaxRetryCycles. |
| nazwa | Ciąg zawierający nazwę konfiguracji powiązania. Ta wartość powinna być unikatowa, ponieważ jest używana jako identyfikacja powiązania. Począwszy od programu .NET Framework 4, powiązania i zachowania nie muszą mieć nazwy. Aby uzyskać więcej informacji na temat domyślnej konfiguracji i beznazowych powiązań i zachowań, zobacz Uproszczone konfigurowanie i uproszczona konfiguracja dla usług WCF. |
| openTimeout | TimeSpan Wartość określająca interwał czasu podany dla operacji otwierania do ukończenia. Ta wartość powinna być większa lub równa Zero. Wartość domyślna to 00:01:00. |
| Receiveerrorhandling | Wartość ReceiveErrorHandling określająca sposób obsługi zatrutych i niedysponowalnych komunikatów. |
| Receiveretrycount | Liczba całkowita określająca maksymalną liczbę natychmiastowych ponownych prób menedżer kolejki powinien podjąć próbę transmisji komunikatu z kolejki aplikacji do aplikacji kończy się niepowodzeniem. Jeśli zostanie osiągnięta maksymalna liczba prób dostarczenia i komunikat nie jest uzyskiwany przez aplikację, komunikat jest wysyłany do kolejki ponawiania prób w celu ponownego dostarczenia w późniejszym czasie. Czas, po jakim komunikat zostanie przeniesiony z powrotem do kolejki wysyłającej, jest kontrolowany przez retryCycleDelaypolecenie . Jeśli cykle ponawiania próby osiągną maxRetryCycles wartość, komunikat zostanie wysłany do kolejki komunikatów otrucia lub do nadawcy zostanie wysłane potwierdzenie ujemne. |
| receiveTimeout | TimeSpan Wartość określająca interwał czasu podany dla operacji odbierania do ukończenia. Ta wartość powinna być większa lub równa Zero. Wartość domyślna to 00:10:00. |
| receiveContextEnabled | Wartość logiczna określająca, czy jest włączony kontekst odbierania komunikatów do przetwarzania komunikatów w kolejkach. Gdy jest trueustawiona wartość , usługa może "zajrzeć" komunikat w kolejce, aby rozpocząć jego przetwarzanie, a jeśli coś pójdzie nie tak, a wyjątek zostanie zgłoszony, pozostaje w kolejce. Usługi mogą również "zablokować" komunikaty, aby ponowić próbę przetworzenia w późniejszym momencie. Funkcja ReceiveContext udostępnia mechanizm "kończenia" komunikatu po przetworzeniu, dzięki czemu można go usunąć z kolejki. Komunikaty nie są już odczytywane i ponownie zapisywane w kolejkach za pośrednictwem sieci, a poszczególne komunikaty nie odbijają się między różnymi wystąpieniami usługi podczas przetwarzania. |
| Retrycycledelay | Wartość timeSpan, która określa opóźnienie czasu między cyklami ponawiania próby podczas próby dostarczenia komunikatu, którego nie można dostarczyć natychmiast. Wartość definiuje tylko minimalny czas oczekiwania, ponieważ rzeczywisty czas oczekiwania może być dłuższy. Wartość domyślna to 00:30:00. Aby uzyskać więcej informacji, zobacz RetryCycleDelay. |
| sendTimeout | TimeSpan Wartość określająca interwał czasu podany dla operacji wysyłania do ukończenia. Ta wartość powinna być większa lub równa Zero. Wartość domyślna to 00:01:00. |
| serializationFormat | Definiuje format używany do serializacji treści komunikatu. Ten atrybut jest typu MsmqMessageSerializationFormat. |
| timeToLive | Wartość TimeSpan, która określa, jak długo komunikaty są prawidłowe przed wygaśnięciem i umieszczane w kolejce utraconych komunikatów. Wartość domyślna to 1.00:00:00. 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ę odbierającą w określonym przedziale czasu, mówi się, że wygasł. Wygasłe komunikaty są wysyłane do specjalnej kolejki nazywanej kolejką utraconych wiadomości. Lokalizacja kolejki utraconych komunikatów jest ustawiana z atrybutem DeadLetterQueue lub odpowiednią wartością domyślną na podstawie gwarancji. |
| 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 kopie komunikatów przetwarzanych przez to powiązanie powinny być przechowywane w dzienniku źródłowym. Wartość domyślna to false.Aplikacje w kolejce, które chcą przechowywać rekord komunikatów, które opuściły kolejkę wychodzącą komputera, mogą kopiować komunikaty do kolejki dziennika. Gdy komunikat opuści kolejkę wychodzącą i zostanie odebrane potwierdzenie, że komunikat został odebrany na komputerze docelowym, kopia komunikatu jest przechowywana w kolejce dziennika systemowego komputera wysyłającego. |
{serializationFormat} Atrybut
| Wartość | Description |
|---|---|
| XML | Format XML |
| Binary | Format binarny |
| ActiveX | Format ActiveX |
| Bytearray | Serializuje obiekt do tablicy bajtów. |
| Stream | Treść sformatowana jako strumień |
Elementy podrzędne
| Składnik | Description |
|---|---|
| <bezpieczeństwo> | Definiuje ustawienia zabezpieczeń dla powiązania. Ten element jest typu MsmqIntegrationSecurityElement. |
Elementy nadrzędne
| Składnik | Description |
|---|---|
| <Powiązania> | Ten element zawiera kolekcję powiązań standardowych i niestandardowych. |
Uwagi
Ten element powiązania może służyć do włączania aplikacji Windows Communication Foundation (WCF) do wysyłania komunikatów i odbierania komunikatów z istniejących aplikacji MSMQ korzystających z com, MSMQ natywnych interfejsów API lub typów zdefiniowanych w System.Messaging przestrzeni nazw Można użyć tego elementu konfiguracji, aby określić sposoby adresowania kolejki, gwarancji transferu, czy komunikaty muszą być trwale przechowywane, oraz sposób ochrony i uwierzytelniania komunikatów. Aby uzyskać więcej informacji, zobacz How to: Exchange Messages with WCF Endpoints and Message Queuing Applications (Jak wymieniać komunikaty z punktami końcowymi programu WCF i aplikacjami kolejkowania komunikatów).
Example
<configuration>
<system.ServiceModel>
<bindings>
<msmqIntegrationBinding>
<binding closeTimeout="00:00:10"
openTimeout="00:00:20"
receiveTimeout="00:00:30"
sendTimeout="00:00:40"
deadLetterQueue="net.msmq://localhost/blah"
durable="true"
exactlyOnce="true"
maxReceivedMessageSize="1000"
maxImmediateRetries="11"
maxRetryCycles="12"
poisonMessageHandling="Disabled"
rejectAfterLastRetry="false"
retryCycleDelay="00:05:55"
timeToLive="00:11:11"
useSourceJournal="true"
useMsmqTracing="true"
serializationFormat="Binary">
<security mode="None" />
</binding>
</msmqIntegrationBinding>
</bindings>
</system.ServiceModel>
</configuration>