2012-06-13 53 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中没有缓冲池,这就是为什么它不能编译。