2013-08-25 56 views
6

Tôi đang cố truy cập dịch vụ WCF từ ứng dụng khách Windows Forms. cấu hình ràng buộc của tôi trên máy chủ là thế này:"Dung lượng kích thước tin nhắn tối đa cho các tin nhắn gửi đến (65536) đã bị vượt quá". Ngay cả sau khi thiết lập kích thước lớn hơn

<bindings> 
     <customBinding> 
     <binding name="Wrabind" closeTimeout="00:05:00" openTimeout="00:05:00" 
      sendTimeout="00:25:00"> 
      <textMessageEncoding /> 
      <security authenticationMode="SecureConversation" includeTimestamp="true" 
       messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"> 
      <localClientSettings maxClockSkew="00:30:00" /> 
      <localServiceSettings maxClockSkew="00:30:00" /> 
      <secureConversationBootstrap messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"> 
       <localClientSettings maxClockSkew="00:30:00" /> 
       <localServiceSettings maxClockSkew="00:30:00" /> 
      </secureConversationBootstrap> 
      </security> 
      <httpTransport maxBufferPoolSize="20000000" maxReceivedMessageSize="20000000" 
       allowCookies="true" maxBufferSize="20000000" /> 
     </binding> 
     </customBinding> 
    </bindings> 

Như bạn có thể thấy tôi đã thiết lập các maxReceivedMessageSize-20.000.000, nhưng nó vẫn hiển thị "The maximum message size quota for incoming messages (65536) has been exceeded." ngoại lệ. Tui bỏ lỡ điều gì vậy?

Trả lời

6

Có thể lỗi này đến từ máy khách chứ không phải máy chủ. Hãy chắc chắn rằng cùng một thiết lập tồn tại trên cấu hình máy khách.

+0

cảm ơn việc này đã hiệu quả. :) –

+0

Tôi gặp lỗi tương tự khi tôi gỡ lỗi dịch vụ một mình thông qua WcfTestClient. Tôi đã tăng kích thước trong ràng buộc của tôi. Bạn có thể tel cho tôi một cách đi ra điều này? Tôi đã đăng câu hỏi của mình lên http://stackoverflow.com/questions/22934530/two-endpoint-with-two-binding-configuration-for-a-service Giúp tôi – Programmer

1

Từ here: -

Bạn có thể cần phải thêm "binding.MaxBufferSize = 2147483647" là tốt. "ServiceReferences.ClientConfig" sẽ tự động cập nhật khi bạn đã cập nhật hoặc định cấu hình lại tham chiếu dịch vụ. Do đó nếu bạn đã cung cấp các cấu hình ràng buộc chính xác ở cấp dịch vụ bằng cách sử dụng "App.config" của dịch vụ WCF lib của bạn, cấu hình đó sẽ tự động được kế thừa cho trình khách Silverlight tiêu thụ. Nhưng tất cả những điều này sẽ không có hiệu lực nếu bạn đang tạo ra các ràng buộc động trong mã.

2

Cài đặt phía máy chủ WCF không có liên quan trong trường hợp này. Cấu hình ràng buộc phía máy khách là kẻ thù của bạn ...

+0

... cùng với 'WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10'. Có thật không...? – KristoferA