요청 당 정확히 하나의 숫자가 필요한 경우 ASP.NET MVC 응용 프로그램에서 난수를 생성하는 올바른 방법은 무엇입니까? MSDN에 따르면 충분한 품질의 무작위성을 얻으려면 한 번 생성 된 단일 System.Random 개체를 사용하여 여러 개의 숫자를 생성해야합니다. MVC의 각 요청에 대해 컨트롤러 클래스의 새 인스턴스가 만들어 지므로 컨트롤러의 생성자에서 임의 개체에 대해 초기화 된 전용 필드를 사용할 수 없습니다. 그래서 MVC 애플 리케이션의 어떤 부분에서 랜덤 객체를 생성하고 저장해야합니까? 현재 I 컨트롤러 클래스의 스태틱 필드에 저장하고 느리게 그것을 사용하는 동작 방식의 초기화 다음 "랜덤"필드가 컨트롤러 클래스의 다중 인스턴스에 액세스 할 수 있기 때문에MVC 응용 프로그램에서 난수 생성
public class HomeController : Controller
{
...
private static Random random;
...
public ActionResult Download()
{
...
if (random == null)
random = new Random();
...
}
}
를 그 것이다 두 인스턴스가 동시에 초기화하려고하면 값이 손상 될 수 있습니까? 그리고 또 하나의 질문 : 정적의 수명은 애플리케이션의 수명이라는 것을 알고 있습니다.하지만 MVC 앱의 경우에는 무엇입니까? IIS가 시작될 때까지 IIS가 종료됩니까?