웹 응용 프로그램에서 정적 변수를 사용할 수 없다는 것은 잘 알려진 사실입니다. 응용 프로그램을 통해 정적으로 남아 있기 때문에 정적 변수를 웹 응용 프로그램에서 사용할 수있는 시나리오가 있습니까?웹 응용 프로그램의 정적 변수
감사
웹 응용 프로그램에서 정적 변수를 사용할 수 없다는 것은 잘 알려진 사실입니다. 응용 프로그램을 통해 정적으로 남아 있기 때문에 정적 변수를 웹 응용 프로그램에서 사용할 수있는 시나리오가 있습니까?웹 응용 프로그램의 정적 변수
감사
질문을 이해할 수 있을지 모르겠지만 웹 응용 프로그램에서 정적 변수를 사용하는 것이 그 의미를 이해할 수있을 경우 완벽하게 문제가되는 경우가 있습니다. 예를 들어, NHibernate 및 "session-per-request"모델을 사용하는 .NET 웹 응용 프로그램의 일반적인 용도는 새 세션을 새로 만들려면 ISessionFactory의 정적 인스턴스를 유지하는 것입니다. 이것은 세션 팩토리가 매우 무거운 객체이고 일반적으로 많은 리소스를 생성하기 때문에 유용합니다.
당신은 쿠키 응용 프로그램 또는 세션 변수에
(또는 질문에 대한 오해가 있습니까?)
그래, 정적 값을 세션, 뷰 상태 및 언급 한 장소에 저장할 수 있음을 이해합니다. 그러나 정적 변수 (정적 변수로 선언 된 변수)를 사용하여 다른 장소에 저장하는 대신 특정 기능을 사용할 수 있습니까? –
사용중인 웹 프레임 워크는 언급하지 않지만 ASP.Net을 사용하는 경우 Application 개체 또는 Session 개체에 개체를 할당 할 수 있습니다. 요청간에 응용 프로그램 전반에 걸쳐 정보를 보유하고 개별 사용자의 모든 요청에 대해 정보를 보유합니다.
일반적인 방법으로 질문하고 있는데 주관적 + 토론으로 표시되어있는 것으로 의심되는 경우 쿠키를 사용하여 사용자의 모든 요청에서 변수를 보유 할 수 있습니다.
모든 사용자의 가치를 지키기 위해 사용중인 웹 프레임 워크를 살펴 봐야합니다. ASP.Net의 Application 오브젝트에 해당하는 내용을 저장하기 위해 각 요청에 액세스 할 수있는 파일에 항목을 저장하는 것과 같은 옵션이 있습니다.
내가 너무 실용적이라면 유감이지만, 내가 사는 곳에서는 늦어진다. :)
구성 데이터, 데이터베이스 연결 문자열, 데이터베이스 원본에서 검색된 응용 프로그램의 상수 데이터.
초기화 후 변경하지 않아도되는 항목.
예를 들어, 페이지에서 구성 설정을 가져 와서 반복해서 사용할 수 있습니다. 이 예제에서 myUrl이 초기화되면 웹 응용 프로그램이 다시 시작될 때까지 web.config 파일을 다시 히트 할 필요가 없습니다.
static public string myUrl = string.Empty
public void SomeRoutine()
{
if (string.IsNullOrEmpty(myUrl))
myUrl = ConfigurationManager.AppSettings[ "myUrl" ].ToString();
...
Response.Redirect(myUrl);
}
당신이 말하는 언어 또는 환경은 무엇입니까? –
언어 또는 환경에 관계없이, 나는 정적이 같은 방식으로 행동한다고 생각한다. –
'정적'의 정확한 의미는 언어 간 차이뿐만 아니라 동일한 언어로 된 웹 환경 (예 : 다중 프로세스 vs. 다중 스레드) 변경 – orip