Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 18761|Odpowiedź: 1

[WCF/Web Servics] Limit maksymalnego rozmiaru wiadomości dla wiadomości przychodzących (65536) został przekroczony. Aby zwiększyć kwotę, użyj ...

[Skopiuj link]
Opublikowano 24.04.2017 17:02:30 | | |
Limit maksymalnego rozmiaru wiadomości dla wiadomości przychodzących (65536) został przekroczony. Aby zwiększyć kwotę, użyj właściwości MaxReceivedMessageSize na odpowiednim elemencie binding.


Korzystając z WCF, napotykam następujące problemy:


Limit maksymalnego rozmiaru wiadomości dla wiadomości przychodzących (65536) został przekroczony. Aby zwiększyć kwotę, użyj właściwości MaxReceivedMessageSize na odpowiednim elemencie binding.

Opis problemu:

Gdy klient dzwoni do WCF i zwraca dużą ilość danych, nie ma problemu z LAN (klient znalazł problem z maszyną na miejscu, dokładny powód jest nieznany). Jest problem z publikowaniem na extranecie.


Informacja o wyjątku, którą wykrywa debug VS2012, to: Podczas przesyłania danych przez kanał HTTP wystąpił błąd (dane nie mogły być odczytane z połączenia transportowego: połączenie zostało zamknięte. )。

Wyjątek zwracany przez narzędzie WCFStorm to: Maksymalny limit wielkości wiadomości dla wiadomości przychodzących (65536) został przekroczony. Aby zwiększyć kwotę, użyj właściwości MaxReceivedMessageSize na odpowiednim elemencie binding.

Przed pojawieniem się błędu zarówno serwer, jak i klient dodali następujące ustawienia:


Dodaj następujący kod po stronie serwera, aby rozwiązać problem:

Mam nadzieję, że rozwiąże to i Ciebie, którzy mają ten sam problem.

Inne rozwiązania:

Po przeczytaniu wpisu @sunny007sun http://bbs.csdn.net/topics/360255080, znaleziono rozwiązanie http://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html jego dorobku (blog).
Web.config automatycznie wygenerowany przez Silverlight nie zawiera informacji konfiguracyjnych dla usług i musi zostać tutaj dodany
    <services>
      <service behaviorConfiguration="MyBehavior" nazwa="WcfService1.Service1">
        <adres końcowy="" binding="basicHttpBinding" bindingConfiguration="NewBinding0"
          contract="WcfService1.IService1" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
W rzeczywistości nadal istnieje różnica między service.name a endpoint.contract, kontrakt jest protokołem odpowiadającym ServiceContract w projekcie WCF, czyli interfejsowi IService1, a usługa odpowiada konkretnemu wywołaniu svc, czyli Usługi1.

Jak dotąd problem został rozwiązany, dziękuję @sunny007sun za 11 lat publikowania i blogowania.





Poprzedni:.NET/C# Narzędzie do debugowania interfejsu Huawei NB-IoT [Kod źródłowy]
Następny:Winform ListFunkcja dwuklikowego kliknięcia prawym przyciskiem myszy
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com