从ASP.NET MVC应用程序执行WebRequests是不好的做法?

时间:2013-05-08 15:29:23

标签: asp.net-mvc azure windows-services httpwebrequest webrequest

我正在做一个在Windows Azure中运行/部署的Web应用程序(ASP.NET MVC)。

如果我从这个应用程序中执行了很多WebRequests,那是不好的做法,那就是:

ActionResult SomeAction()
{
      WebRequest.Create(some url);

       ....
}

SomeAction很多次被调用。 SomeAction也可能创建多达100个WebRequests,甚至更多。

这是一种不好的做法吗?
我应该使用Windows服务吗?即:

ActionResult SomeAction()
{
      //Save the request in a db and let a Windows Service to poll this db
      //and do the WebRequests from outside the MVC application
}

1 个答案:

答案 0 :(得分:0)

这对你的项目来说是强制性的。

顺便说一下,您可以使用以下最佳实践来包装远程呼叫:

  1. 如果远程网址中的数据未更改,则可以缓存结果,避免多个网络请求
  2. 使用异步等待方法(如果您使用的是.NET 4.5)来执行Web请求异步并为您的应用程序提供更好的性能