首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpWebRequest定时

HttpWebRequest定时
EN

Stack Overflow用户
提问于 2017-09-24 13:02:45
回答 1查看 47关注 0票数 0

我有这个代码超时,因为有很多数据来自服务器。有没有人知道是否有办法阻止暂停?

代码语言:javascript
复制
    static List<PhraseSource> GetPhrases()
    {
        var request = HttpWebRequest.Create("http://aaa.cloudapp.net/api/Phrase/GetJDTO");
        request.ContentType = "application/json";
        request.Method = "POST";

        using (var streamWriter = new StreamWriter(request.GetRequestStream()))
        {
            string json = Newtonsoft.Json.JsonConvert.SerializeObject(new
            {
                form = "2", // just get words
                type = "0"
            });
            streamWriter.Write(json);
        }

这是我的C#服务器代码。不确定,但也许这也有一个问题,但就目前而言,似乎是在客户端:

代码语言:javascript
复制
    [HttpPost]
    [AllowAnonymous]
    [Route("GetJDTO")]
    public async Task<IHttpActionResult> GetJDTO([FromBody] GetJDTOOptions options)
    {
        IQueryable<Phrase> query = null;

        query = db.Phrases.AsQueryable();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-24 15:34:36

调用WebRequest时返回的HttpWebRequest.Create对象具有Timeout属性。在HttpWebRequest的情况下,这默认为100秒。

在您的示例中,如果需要,可以将其设置为更高的值。例如:

代码语言:javascript
复制
...
request.Method = "POST";
request.Timeout = **numberOfMilliseconds**;

您可能需要考虑分页等问题,正如@ the在问题注释中所建议的那样,但是Timeout解决了您的特定问题。

当您明确要求完全停止超时时,您可以使用Timeout.Infinite (如文档中提到的),但这可能会破坏客户端体验,等等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46390315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档