2012-06-13 75 views
0

我想設置maxBufferPoolSize以及MaxReceivedMessageSize和MaxBufferSize。但是,當我嘗試設置它時,我收到了消息「'maxBufferPoolSize'不是'System.ServiceModel.BasicHttpBinding'的成員。」我正在使用VS 2010.從MS文檔中,MaxBufferpoolSize是成員(http://msdn.microsoft.com/en-us/library/system.servicemodel.basichttpbinding.maxbufferpoolsize)。爲什麼我得到這個錯誤?請幫忙。謝謝。以編程方式設置basicHttpBinding的maxBufferPoolSize

Dim basicHttpBinding As BasicHttpBinding = New BasicHttpBinding() 
    Dim endpointAddress As EndpointAddress = New EndpointAddress("/test.svc") 
    basicHttpBinding.MaxReceivedMessageSize = "2147483647" 
    basicHttpBinding.MaxBufferSize = "2147483647" 
    **basicHttpBinding.maxBufferPoolSize = "2147483647"** 


    basicHttpBinding.OpenTimeout = New TimeSpan(0, 20, 0) 
    basicHttpBinding.CloseTimeout = New TimeSpan(0, 10, 0) 
    basicHttpBinding.ReceiveTimeout = New TimeSpan(0, 10, 0) 
    basicHttpBinding.SendTimeout = New TimeSpan(0, 10, 0) 

    Dim Svc As Svc= New ChannelFactory(Of Svc)(basicHttpBinding, endpointAddress).CreateChannel 
    '... do the binding 
+0

該代碼不應該編譯。 MaxReceivedMessageSize的類型是Long,而不是String(就像你使用的那樣)。 MaxBufferSize的類型爲Integer(同樣,不是String)。嘗試對這些屬性使用數字而不是字符串文字。 – carlosfigueira

+0

不起作用。同樣的問題.... – user1298608

+1

這是在Silverlight上嗎?如果是這樣,SL中沒有緩衝池,這就是您無法設置該屬性的原因。 – carlosfigueira

回答

1

根據評論,您使用的是Silverlight,因此該框架中不存在該屬性。 Silverlight中沒有緩衝池,這就是爲什麼它不能編譯。