我有这个代码超时,因为有很多数据来自服务器。有没有人知道是否有办法阻止暂停?
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#服务器代码。不确定,但也许这也有一个问题,但就目前而言,似乎是在客户端:
[HttpPost]
[AllowAnonymous]
[Route("GetJDTO")]
public async Task<IHttpActionResult> GetJDTO([FromBody] GetJDTOOptions options)
{
IQueryable<Phrase> query = null;
query = db.Phrases.AsQueryable();发布于 2017-09-24 15:34:36
调用WebRequest时返回的HttpWebRequest.Create对象具有Timeout属性。在HttpWebRequest的情况下,这默认为100秒。
在您的示例中,如果需要,可以将其设置为更高的值。例如:
...
request.Method = "POST";
request.Timeout = **numberOfMilliseconds**;您可能需要考虑分页等问题,正如@ the在问题注释中所建议的那样,但是Timeout解决了您的特定问题。
当您明确要求完全停止超时时,您可以使用Timeout.Infinite (如文档中提到的),但这可能会破坏客户端体验,等等。
https://stackoverflow.com/questions/46390315
复制相似问题