Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 18761|Vastaus: 1

[WCF/Verkkopalvelut] Saapuvien viestien maksimikoon kiintiö (65536) on ylitty. Kiintiön kasvattamiseksi käytä ...

[Kopioi linkki]
Julkaistu 24.4.2017 17.02.30 | | |
Saapuvien viestien maksimikoon kiintiö (65536) on ylitty. Kiintiön kasvattamiseksi käytä MaxReceivedMessageSize -ominaisuutta sopivalla sitomiselementillä.


WCF:ää käyttäessäni kohtaan seuraavat ongelmat:


Saapuvien viestien maksimikoon kiintiö (65536) on ylitty. Kiintiön kasvattamiseksi käytä MaxReceivedMessageSize -ominaisuutta sopivalla sitomiselementillä.

Ongelman kuvaus:

Kun asiakas soittaa WCF:lle ja palauttaa suuren määrän dataa, LAN:ssa ei ole ongelmaa (asiakas löysi ongelman koneessa paikan päällä, tarkka syy on tuntematon). Extranetiin postaamisessa on ongelma.


VS2012 Debugin havaitsema poikkeustieto on: Virhe tapahtui datan siirron aikana HTTP-kanavan yli (dataa ei voitu lukea siirtoyhteydestä: yhteys suljettiin. )。

WCFStorm-työkalun palauttama poikkeus on: Saapuvien viestien maksimikoon kiintiö (65536) on ylitty. Kiintiön kasvattamiseksi käytä MaxReceivedMessageSize -ominaisuutta sopivalla sitomiselementillä.

Ennen virhettä sekä palvelin että asiakas olivat lisänneet seuraavat asetukset:


Lisää seuraava koodi palvelinpuolelle ongelman ratkaisemiseksi:

Toivon, että se voi ratkaista sinut, jotka kokevat saman ongelman.

Muita ratkaisuja:

Luettuani @sunny007sun:n kirjoituksen http://bbs.csdn.net/topics/360255080, hänen bloginsa http://www.cnblogs.com/happyhippy/archive/2011/07/02/2096482.html löytyi ratkaisu.
Silverlightin automaattisesti luoma web.config ei sisällä palveluiden konfiguraatiotietoja ja se täytyy lisätä tähän
    <services>
      <service behaviorConfiguration="MyBehavior" name="WcfService1.Service1">
        <pääteosoite="" binding="basicHttpBinding" bindingConfiguration="NewBinding0"
          contract="WcfService1.IService1" />
        <pääteosoite="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
      </service>
    </services>
Itse asiassa service.name:n ja endpoint.contractin välillä on edelleen ero, sopimus on protokolla, joka vastaa WCF-projektin ServiceContractia, eli rajapintaa IService1, ja palvelu vastaa svc:n tiettyä kutsua, eli Service1:tä.

Tähän mennessä ongelma on ratkaistu, kiitos @sunny007sun 11 vuoden postaamisesta ja bloggaamisesta.





Edellinen:.NET/C# Huawei NB-IoT-rajapinnan virheenkorjaustyökalu [Lähdekoodi]
Seuraava:Winform ListView kaksoisklikkaus oikealla painikkeella
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com