2

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

如果我从这个应用程序做很多 WebRequests 是不是一种不好的做法?,即:

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

       ....
}

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

这是一个不好的做法吗?
我应该改用 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
}
4

1 回答 1

0

在您的项目必须这样做之前,这不是一个坏习惯。

顺便说一句,您可以使用一些最佳实践来包装远程调用,例如:

  1. 如果远程 url 中的数据不经常更改,您可以缓存结果,避免多个 Web 请求
  2. 使用异步等待方法(如果您使用的是 .NET 4.5)来异步执行 Web 请求并为您的应用程序提供更好的性能
于 2013-06-05T18:06:53.373 回答