문제

2 개의 디렉토리 (서적 및 수출)가있는 응용 프로그램이 있습니다. 응용 프로그램에서 책이나 책의 페이지를 작성하면 페이지의 ID와 함께 디렉토리가 추가됩니다 (이것은 자원을 업로드하기위한 것입니다). 페이지를 삭제하면 페이지 (및 디렉토리)가 데이터베이스와 파일 시스템에서 제거됩니다.

그러나 이로 인해 세션 손실이 발생했습니다 (애플리케이션이 다시 시작됩니다). Google에서 몇 가지를 찾아 다음을 찾았습니다. 링크. ASP.NET 2.0 (및 3.5)에서는 문제가있는 것 같습니다. 누구나이 문제에 대한 해결책이 있습니까?

우리는 이제 밤에 디렉토리를 정리할 서비스를 작성하는 것에 대해 생각하고 있습니다. 그러나 이것에 대한 또 다른 해결책이 있어야합니까? 아, 그리고 디렉토리를 가상 디렉토리 외부에 배치하는 것은 옵션이 아닙니다.

도움이 되었습니까?

해결책

아, 그리고 디렉토리를 가상 디렉토리 외부에 배치하는 것은 옵션이 아닙니다.

디렉토리를 가상 디렉토리 외부에 두는 것이 내가 찾은 유일한 솔루션입니다 (지금까지). 당신이 할 수있는 것은 파일 시스템에서 링크 (junction)를 만들어 디렉토리가 가상 디렉토리에있는 것처럼 보이도록하는 것입니다.

  • 당사 웹 사이트 (Virtual Directory)는 C : ProjectX 웹 사이트에 있습니다.
  • 데이터 디렉토리 (파일 및 폴더를 작성/삭제)는 C : ProjectX Data에 있습니다.
  • 그런 다음 데이터 폴더를 C : ProjectX 웹 사이트 Data로 사용할 수있는 링크를 만듭니다.

링크는 다음 명령과 함께 프로그램 Linkd.exe (Windows 리소스 키트에서 사용 가능)를 사용하여 작성됩니다.

linkd c:\projectX\website\data c:\projectX\data

이제 C : ProjectX Website Data는 실제 데이터 디렉토리를 가리키는 링크/정션입니다. 링크를 실제 디렉토리 인 것처럼 링크로 작업 할 수 있습니다.

예를 들어 웹 사이트 에서이 코드를 사용하여 액세스 할 수 있습니다.

Server.MapPath("~/data")

또한 Windows 파일 탐색기를 사용하여 C : ProjectX Website Data로 찾아 볼 수도 있습니다. 실제 디렉토리처럼 보입니다.

다른 팁

파일 시스템의 모니터링을 비활성화해보십시오. 이렇게하면 세션이 살아남지 못할 것입니다.이 기사 당신에게 유용 할 수 있습니다.

Sachin이 언급 한 기사와 동일하게 달성하는 지원되는 Hotfix가있는 것 같습니다 (웹 사이트에서 파일 변경 알림을 끄십시오).

확인하다 Microsoft KB 의이 기사 자세한 내용은.

그러나 의견에 언급 한 이후 서버에 액세스 할 수 없다고 말하면 귀하의 경우에도 도움이되지 않을 것 같습니다.

자주 업데이트, 생성 및 삭제되는 데이터 파일을 저장하려면 웹 사이트의 루트에서 App_Data 폴더를 사용해야합니다. APP_DATA 폴더의 MSDN :

MDF 파일, XML 파일 및 기타 데이터 스토어 파일을 포함한 응용 프로그램 데이터 파일이 포함되어 있습니다. APP_DATA 폴더는 ASP.NET 2.0에서 응용 프로그램의 로컬 데이터베이스를 저장하는 데 사용되며 멤버십 및 역할 정보를 유지하는 데 사용할 수 있습니다.

또한 APP_DATA 폴더 사용에 대한 Q & A 섹션을 확인하십시오. APP_DATA 폴더 질문

나는 같은 문제가 있었다. 해결책은 ASP.NET State Service를 사용하여 세션 처리를 외부화하는 것입니다. 유일한 추첨은 세션에 배치 한 모든 객체가 주 서비스와 뒤로 전송되므로 직렬화 할 수 있어야한다는 것입니다.

현재 추가 링크를 제공 할 가능성이 없지만 Google은 이제 검색 할 내용을 알게되므로 도움이 될 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top