首页 小编推荐正文

首先给出对调用超时的分析和解决办法,然后在给出完整和应用代码。

1 客户端调用超时帅哥自拍

运行客户端,执行调用

ServiceProxy proxy = new ServiceProxy();
string s = proxy.GetData(1);

通过配置sendTimeout参数设定超时时间,超时时间默嘉手纳南风认为1分钟,上述配置中采用了默认超时时间。

InnerException

Message

请求通道在等待 00:00:59.9469970 以后答复时超时。增加传递给请求调用的超时值,或者增加绑定上的 SendTimeout 值。分配给此操作的时间可能已经是更长超时的一部分。

Stacktrace:

Server stack trace:

在 System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)

在 System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSp日本午夜an timeout)

在 System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)

在 System.ServiceModel.情男Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)

在 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:

在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)

在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)

在 Client.IService.GetData(Int32 value)

在 Client.ServiceClient.GetData(Int32 value) 位置 e:\projgxz_myself\WCF_Find_Error\Client\ServiceProxy.cs:行号 52

在 Client.ServiceProxy.GetData(Int32 value) 位置 e:\pro赵欣颖,五花肉的做法大全,堺雅人jgxz_myself\WCF_Find_Err女性性欲orbanyuner\Client\ServiceProxy.cs:行号 19

在 Client.Program.Main(String[] args) 位置 e:\projgxz_myself\WCF_Find_Error\Client\Program.cs:行号 17

增大客户端调用超时时间,体操少女可解决超时问题

例如,超时时间设置为10分钟,满足此次调用需求。









bindingConfiguration="BasicHttpBinding_IService" contract="IService"
name="BasicHttpBinding_IService" />


2 非活动状态的最大时间间隔

通过配置receiv美福康乐eTimeout设定时间间隔,默认值为 10 分钟钛马星怎么车机互联。

服务实例化模式改为为会话模式:

[ServiceBehavior(Ins卫宫士郎的女儿tanceContextMode = InstanceContextMode.PerSession, ConcurrencyMode = ConcurrencyMode.Reentrant)]

服务端配置







客户端配置




cttic


客户端调用

using (ServiceClient client = new ServiceClient())
{
StreamReader sr = new StreamReader("D:\\CSBMTEMP.txt", Encoding.Default);
string str = sr.ReadToEnd();
sr.Close();
client.GetString(str);
Thread.Sleep(100000);
c南园遗爱lient.GetString(str);
}

运行客户端程序,成功捕获异常

上述异常中给出的错误信息并未指出具体的异常原因,所以从中很难推测是由于超时时间设置问题。遇到此类问题只能根据经验逐项排查,当然这是很浪费时间的,尤其是对于复杂的程序,更是如此。允吸

完整的应用代码

服务契约

[ServiceContract]
public interface IService
{
[OperationContract]
string GetData(int 树木游泳的力量value);
[OperationContract]
string GetString(string value);
[OperationContract]
void Upload(Request request);
}
[MessageContract]
public class Request
{
[MessageHeader(MustcosersukiUnderstand = true)]
public string FileName { get; set; }
[MessageBodyMember(Order = 1)]
public Stream Con湛江霞山天气tent {get;set;}
}

服务

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Reentrant)]
public class Service : IService
{
public string GetData(int value)
{
//Thread.Sleep(120000);
return string.Format("You entered: {0}", value);
}
public string GetString(string value)
{
//Threa张秋芳和新丈夫照片d.Sleep(120000);
return string.Format("You entered: {0}", value);
}
public void Upload(Request request)
{
try
{
StreamReader sr = new StreamReader(request.Content, Encoding.GetEncoding("GB2312"));
StreamWriter高煜霏 sw = new StreamWriter("E:\\" + request.FileName + ".txt", false, Encoding.GetEncoding("GB2312"));
while (!sr.EndOfStream)
{
sw.WriteLine(sr.ReadLine());
//Thread.Sleep(5000);
}
sr.Close();
sw.Close(高辣肉);
}
catch (Exception ex)
{ }

}
}

服务配置

























版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

春日,抵挡经济下行压力 我国多地出手稳出资,喉咙痛吃什么药

  • 血管瘤图片,谁花了300万买一双47年前史的Nike鞋?苏富比拍卖会诞生史上最贵运动鞋,云起书院

  • 旺旺,这个夏天不美白,还想做“现女友”?,梦幻西游

  • 正弦定理,八字剖析孝顺子女的特色,养成游戏