Tag: timeout

如何使用Session.Query设置Nhibernate LINQ命令超时

是否有人知道在使用Session.Query时设置UnderlyingCriteria方法? 我正在尝试为一个特定查询设置更严格的命令超时(或查询超时),我试图避免在会话中的连接或其他查询上添加该约束。 我在旧的QueryOverfunction中找到了你可以使用的东西 // QueryOver returns a IQueryOver an nHibernate class // with access to UnderlyingCriteria var query = Session.QueryOver(); query.UnderlyingCriteria.SetTimeout(120); 问题在于它是旧的,有缺陷的,只是有一大堆function问题。 使用Query返回IQueryable var query = (from c in Session.Query()); IQueryable是一个MS类,没有明显访问命令超时等。 另一种选择是以某种方式为所有命令设置会话命令超时,然后恢复到默认值,但我没有看到任何公共机制来执行此操作,除了先设置命令超时并将其保留,比较如何为NHibernate LINQ语句设置超时

Rx框架:在超时时执行操作,而不会中断原始的可观察序列

给定一个可观察的源,通过轮询(更改a)低级设备的状态生成… // observable source metacode: IObservable source = Observable.Interval(TimeSpan.FromSeconds(0.5)) .Select(tick => new DeviceState(_device.ReadValue())) .DistinctUntilChanged(); ……以及更新UI的消费者…… // UI metacode: service.GetObservableDeviceStates() .Subscribe(state => viewModel.CurrentState = state.ToString()); …我需要在x秒的源“不活动”后执行自定义操作,而不会中断对源的订阅。 像这样的东西: // UI metacode: service.GetObservableDeviceStates() .DoOnTimeout(TimeSpan.FromSeconds(x), () => viewModel.CurrentState = “Idle”) .Subscribe(state => viewModel.CurrentState = state.ToString()); 什么是最佳做法? 想到的可能解决方案是(我是Rx noob): 缓冲区 (即使它不那么可读) 玩这个超时超载 ; 当没有任何变化(而不是使用DistinctUntilChanged)并在UI代码上处理它时,返回一些特殊的“服务端”: service.GetObservableDeviceStates()。Subscribe(state => viewModel.CurrentState = state.Special?“Idle”:state.ToString()); 编辑:如答案中所述 […]

长电缆超时时串行通信超时

我有一个应用程序通过rs232读取不同的硬件。 它已经过测试,并且运行良好。 对于最终的应用,我需要引入一些hunder m长电缆,这意味着我有rs485转换器。 当我运行我的应用程序来读取硬件时,我收到System.IO.Ports.SerialStream.Read的超时错误。 我已将超时增加到20秒,不幸的是它没有解决问题 我尝试了不同的应用程序来读取硬件,即使读取频率为1秒,它们也能正常工作。 通信正在使用modbus协议,我认为这是当前阶段无关紧要,因为我没有到达接收任何东西的阶段。 我的代码看起来像这样:首先是串口打开和初始化: //get the right modbus data structure element ModBus MB = (ModBus)s[0].sensorData; //set up the serial port regarding the data structure’s data SerialPort sp = new SerialPort(); sp.PortName = MB.portName; sp.BaudRate = Convert.ToInt32(MB.baudRate); sp.DataBits = MB.dataBits; sp.Parity = MB.parity; sp.StopBits = MB.stopBits; //Set time outs 20 sec […]

企业库5.0和命令超时

我正在使用以下代码,并想知道如果使用企业库的CreateSprocAccessor我们是否需要设置命令超时,如果不是,那么如何管理超时? var accessor = _sqlDatabase.CreateSprocAccessor(“uspGetxyz”, new xyzParameters(_sqlDatabase), MapBuilder.MapAllProperties().Build()); //Execute the accessor to obtain the results var Data = accessor.Execute(); xyzList = Data.ToList();

如何使用Html Agility Pack超时请求

我正在向当前处于脱机状态的远程Web服务器发出请求(故意)。 我想找出超时请求的最佳方法。 基本上,如果请求的运行时间超过“X”毫秒,则退出请求并返回null响应。 目前网络请求只是坐在那里等待响应….. 我怎样才能最好地解决这个问题? 这是一个当前的代码片段 public JsonpResult About(string HomePageUrl) { Models.Pocos.About about = null; if (HomePageUrl.RemoteFileExists()) { // Using the Html Agility Pack, we want to extract only the // appropriate data from the remote page. HtmlWeb hw = new HtmlWeb(); HtmlDocument doc = hw.Load(HomePageUrl); HtmlNode node = doc.DocumentNode.SelectSingleNode(“//div[@class=’wrapper1-border’]”); if (node != null) { […]

有谁知道我收到HttpWebRequest超时的原因?

我想知道你是否可以帮我解决我遇到的一个错误。 我有一个我创建的HTTP管理器,可以帮助我处理来自网站的POSTing / GETing数据。 直到最近,当我试图使用两者的混合物时,它一直工作正常。 第一个循环循环一切正常,在第二个循环上它挂起在HttpWebRequest.GetRequestStream()上。 我已经在网上阅读并找不到真正的解决方案。 以下是获取/接收的代码块: ASCIIEncoding encoding = new ASCIIEncoding(); byte[] buffer = encoding.GetBytes(_PostData); _HttpWebRequest = (HttpWebRequest)WebRequest.Create(_FetchUrl); _HttpWebRequest.Credentials = _Credentials; _HttpWebRequest.Method = _RequestType.ToString(); _HttpWebRequest.ContentType = “application/x-www-form-urlencoded”; _HttpWebRequest.ContentLength = buffer.Length; _HttpWebRequest.UserAgent = userAgent; _HttpWebRequest.CookieContainer = _CookieContainer; _HttpWebRequest.KeepAlive = false; _HttpWebRequest.AllowAutoRedirect = _AllowAutoRedirect; _HttpWebRequest.AutomaticDecompression = DecompressionMethods.GZip; _HttpWebRequest.ServicePoint.Expect100Continue = false; if (_RequestType.Equals(RequestTypes.POST)) { // Write […]

“Update-Database”命令因TimeOutexception而失败

我正在使用EF迁移并拥有包含大量数据的表。 我需要更改具体列的MaxLength(它没有长度限制)。 ALTER TABLE MyDb ALTER COLUMN [MyColumn] [nvarchar](2) NULL 此命令因TimeOutexception而失败。 试图设置CommandTimeout i nDbContext构造函数没有任何运气。 有没有办法禁用或设置Package Manager Console EF命令的超时?

如何在.net上为WebClient设置TimeOut?

我下载了一些文件,但我也想为webclient设置超时。 正如我所看到的那样,我们可以使用重写WebRequest。 我已经做了但它没有用。 我的意思是重写GetWebRequest方法不起作用..这是我的代码 public class VideoDownloader : Downloader { /// /// Initializes a new instance of the class. /// /// The video to download. /// The path to save the video. public VideoDownloader(VideoInfo video, string savePath) : base(video, savePath) { } /// /// Starts the video download. /// public override void Execute() { // […]

如果没有数据发送,TCP套接字会在一段时间后自动关闭吗?

我有一个客户端服务器的情况,客户端打开到服务器的TCP套接字,有时很长一段时间将通过它们之间没有数据发送。 我遇到了一个问题,服务器试图将数据发送到客户端,它似乎成功,但客户端从未收到它,几分钟后,它看起来像客户端断开连接。 我是否需要每隔一段时间发送一些保持活动包? 编辑 :要注意,这是在同一台计算机上的同行。 计算机位于NAT后面,可以转发用于此计算机的一系列端口。 与服务器连接的客户端通过DNS打开连接。 即它使用mydomain.net和端口进行连接。

request.GetResponse总是提供超时

我为一个程序创建了一个函数,它在请求类型为GET ,如果它是POST ,它总是在Line HttpWebResponse response = (HttpWebResponse)request.GetResponse();上产生一个Timeoutexception(并且没有达到50s的超时)。 HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 我尝试了很多东西,但我没有发现原因,也许有人在这里知道。 编辑:如果有人感兴趣,可以使用它: https : //gist.github.com/4347248 任何帮助将不胜感激。 我的代码是: public ResRequest request(string URL, RequestType typ, CookieCollection cookies, string postdata =””, int timeout= 50000) { byte[] data; Stream req; Stream resp; HttpWebRequest request = WebRequest.Create(URL) as HttpWebRequest; request.Timeout = timeout; request.ContinueTimeout = timeout; request.ReadWriteTimeout = timeout; request.Proxy […]