Cài đặt của tôi:WCF Lỗi - Hạn ngạch kích thước tin nhắn tối đa cho tin nhắn đến (65536) đã bị vượt quá
- ASP.NET khách hàng lưu trữ trong IIS nhanh
- WCF Service tổ chức trong Console Application
- Chạy Visual Studio.NET 2012 trong chế độ Quản trị
Tôi đang cố trả về 2 Liệt kê các đối tượng từ dịch vụ WCF. Thiết lập của tôi HOẠT ĐỘNG MỸ khi tôi trở lại chỉ 1 Danh sách các đối tượng. Nhưng khi tôi trả về 2 Danh sách các đối tượng, tôi gặp lỗi:
Đã vượt quá hạn ngạch kích thước thư tối đa cho thư đến (65536). Để tăng hạn ngạch, hãy sử dụng thuộc tính MaxReceivedMessageSize trên phần tử ràng buộc phù hợp.
Tôi biết rằng câu hỏi này đã được hỏi nhiều lần trên trang web này và các trang web khác. Tôi đã cố gắng gần như tất cả mọi thứ được đăng trên internet với các kết hợp khác nhau của FILE CONFIG nhưng vẫn điều này đã không làm việc cho tôi.
Khách hàng Config:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime maxRequestLength="1572864"/>
</system.web>
<system.serviceModel>
<client>
<endpoint name="basicHttpBinding"
address="http://localhost:9502/HCDataService"
binding="basicHttpBinding"
bindingConfiguration="basicHttpBinding"
contract="HC.APP.Common.ServiceContract.IHCServiceContract"
behaviorConfiguration="ServiceBehaviour">
</endpoint>
</client>
<bindings>
<basicHttpBinding>
<binding name="basicHttpBinding" maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="128" maxStringContentLength="2147483647" maxArrayLength="2147483646" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="ServiceBehaviour">
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
server Config:
<configuration>
<system.serviceModel>
<services>
<service name="HC.APP.Server.Service.HCDataService" behaviorConfiguration="ServiceBehaviour">
<host>
<baseAddresses>
<add baseAddress="http://localhost:9502/HCDataService"/>
</baseAddresses>
</host>
<endpoint name="basicHttpBinding"
address="http://localhost:9502/HCDataService"
binding="basicHttpBinding"
bindingConfiguration="basicHttpBinding"
contract="HC.APP.Common.ServiceContract.IHCServiceContract">
</endpoint>
</service>
</services>
<bindings>
<basicHttpBinding>
<binding name="basicHttpBinding" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" closeTimeout="01:50:00" openTimeout="01:50:00" sendTimeout="01:50:00" receiveTimeout="01:50:00" >
<readerQuotas maxDepth="128" maxStringContentLength="8388608" maxArrayLength="2147483646" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceMetadata httpGetEnabled="true" />
<dataContractSerializer ignoreExtensionDataObject="false" maxItemsInObjectGraph="2147483646" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Tôi đã cập nhật cả tệp cấu hình theo đề xuất của Trickery vì lợi ích của các thành viên khác. Đây là một giải pháp làm việc. Một thay đổi nữa mà tôi đã thực hiện là maxArrayLength = "2147483646" trên cả hai cấu hình. Và có việc đặt tên cho các điểm cuối có thể được cải thiện. –
Các bạn, tôi biết đây là câu hỏi trùng lặp và đề cập đến điều này trong bài đăng của tôi. Lý do tôi đã phải gửi câu hỏi này (và có lẽ tại sao rất nhiều biến thể của cùng một câu hỏi tồn tại), là bởi vì cấu hình WCF được tuân thủ và nó rất dễ dàng để bỏ lỡ một chi tiết nhỏ.Tôi đã đi qua rất nhiều bài viết trên trang web này cũng như các trang web khác nhưng không thể chỉ ra vấn đề. Nó đòi hỏi một chút can thiệp bên ngoài để giải quyết vấn đề. Vì vậy, về mặt kỹ thuật bài viết của tôi có thể âm thanh trùng lặp, nhưng nó khác trong MINOR CONFIG THAY ĐỔI mà Trickery chỉ ra. –