可以在 ServiceReferences.ClientConfig 中配置,不过个人习惯使用后台代码,毕竟配置最灵活:
BasicHttpBinding 在 Debug/ Release 时的代码配置
C# code
defaultBasicHttpBinding = new BasicHttpBinding(BasicHttpSecurityMode.None)
{
Name = "DefaultBasicHttpBinding",
OpenTimeout = new TimeSpan(0, 1, 0),
CloseTimeout = new TimeSpan(0, 1, 0),
#if DEBUG
SendTimeout = new TimeSpan(0, 18, 00),
ReceiveTimeout = new TimeSpan(18, 18, 00),
MaxBufferSize = int.MaxValue,
MaxReceivedMessageSize = int.MaxValue
#else
SendTimeout = new TimeSpan(0, 8, 00),
ReceiveTimeout = new TimeSpan(0, 18, 00),
MaxBufferSize = int.MaxValue,
MaxReceivedMessageSize = int.MaxValue
#endif
}
CustomBinding
C# code
customBinding = new CustomBinding()
{
Name = "CustomBinding",
OpenTimeout = new TimeSpan(0, 1, 0),
CloseTimeout = new TimeSpan(0, 1, 0),
#if DEBUG
SendTimeout = new TimeSpan(0, 18, 00),
ReceiveTimeout = new TimeSpan(18, 18, 00),
#else
SendTimeout = new TimeSpan(0, 8, 00),
ReceiveTimeout = new TimeSpan(0, 18, 00),
#endif
}
customBinding.Elements.Add(new System.ServiceModel.Channels.BinaryMessageEncodingBindingElement())
customBinding.Elements.Add(new HttpTransportBindingElement()
{
MaxBufferSize = int.MaxValue, MaxReceivedMessageSize= int.MaxValue
}
)
如果定位到服务的话,这样能定位到服务,设置binding的bindingConfiguration; 设置bindingConfiguration为BasicBinding给流的服务,,OtherBasicBinding给其他的服务,,这样能定位到服务。你好,很高兴为你解答。在WinForm中使用Timer定时器来做,因为你WCF默认的时间是10分钟,所以你应该在<10分钟的时间内,使用该定时器然后重新调用你的WCF。希望能帮到你,求采纳。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)