Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 18761|Odgovoriti: 1

[WCF/Spletne storitve] Največja kvota velikosti sporočil za dohodna sporočila (65536) je bila presežena. Za povečanje kvote uporabite ...

[Kopiraj povezavo]
Objavljeno na 24. 04. 2017 17:02:30 | | |
Največja kvota velikosti sporočil za dohodna sporočila (65536) je bila presežena. Za povečanje kvote uporabite lastnost MaxReceivedMessageSize na ustreznem vezavnem elementu.


Pri uporabi WCF naletim na naslednje težave:


Največja kvota velikosti sporočil za dohodna sporočila (65536) je bila presežena. Za povečanje kvote uporabite lastnost MaxReceivedMessageSize na ustreznem vezavnem elementu.

Opis problema:

Ko odjemalec pokliče WCF in vrne veliko količino podatkov, ni težav z LAN omrežjem (stranka je našla težavo z napravo na lokaciji, natančen razlog ni znan. Obstaja težava pri objavljanju na ekstranetu.


Izjema, ki jo zazna VS2012 Debug, je: Prišlo je do napake med prenosom podatkov prek HTTP kanala (podatkov ni bilo mogoče prebrati s transportne povezave: povezava je bila zaprta. )。

Izjema, ki jo vrne orodje WCFStorm, je: Maksimalna kvota velikosti sporočil za dohodna sporočila (65536) je bila presežena. Za povečanje kvote uporabite lastnost MaxReceivedMessageSize na ustreznem vezavnem elementu.

Pred napako sta tako strežnik kot odjemalec dodala naslednje nastavitve:


Dodajte naslednjo kodo na strežniški strani, da rešite težavo:

Upam, da bo rešil tudi vas, ki imate enak problem.

Druge rešitve:

Po branju @sunny007sun-jevega zapisa http://bbs.csdn.net/topics/360255080 so našli rešitev http://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html njegovem zapisu (blog).
Web.config, ki ga samodejno generira Silverlight, nima konfiguracijskih informacij za storitve in ga je treba dodati tukaj
    <services>
      <service behaviorConfiguration="MyBehavior" ime="WcfService1.Service1">
        <naslov končne točke="" vezavo="basicHttpBinding" vezavoKonfiguracija="NewBinding0"
          contract="WcfService1.IService1" />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
Pravzaprav je še vedno razlika med service.name in endpoint.contract, pogodba je protokol, ki ustreza ServiceContract v okviru projekta WCF, torej vmesniku IService1, in storitev ustreza specifičnemu klicu svc, torej storitvi 1.

Do zdaj je bil problem rešen, hvala @sunny007sun za 11 let objavljanja in bloganja.





Prejšnji:.NET/C# Huawei orodje za odpravljanje napak na NB-IoT vmesniku [Izvorna koda]
Naslednji:Winform ListView funkcija z dvojnim klikom desnega klika
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com