2014-12-01 2 views
1

이메일을 보내는 데 사용되는 템플릿 텍스트가 포함 된 파일 시스템 (또는 어딘가에있는 파일)에 액세스해야하는 웹 사이트가 있습니다. 파일을 저장할 위치하늘색 웹 역할과 하늘색 웹 사이트 모두에 대해 런타임에 파일을 액세스/찾을 수있는 방법은입니다.Azure 웹 사이트 및 웹 역할에서 리소스 파일을 저장하고 액세스하기위한 제안

지금까지 저는 Azure Local Storage에 대해 읽었습니다.하지만 웹 역할에 대한 옵션 일 뿐이며 하늘색 웹 사이트에서는 사용할 수없는 것으로 보입니다. 또한 파일이 저장 장치에 어떻게 저장 될지 잘 모르겠습니다.

내가 생각했던 다른 옵션은 VS 솔루션에 파일을 추가하고 콘텐츠로 표시하는 것입니다.이 경우 다른 파일과 함께 배포 될 것입니다. 그러나이 경우 .NET 코드에서 파일에 액세스하는 경로를 얻는 방법을 모르겠습니다. 또한,이 파일을 업데이트하려면 전체 솔루션을 다시 배포해야한다고 생각합니다.

이 문제에 대한 의견을 보내 주시면 감사하겠습니다. 감사합니다 ...

+0

당신은 아마 파일을 저장하고 거기에서 다운로드로 때 필요한 로컬로 저장하는 BLOB 저장소를 사용할 수 있습니다 않습니다. –

+0

Gaurav는 처음에 Azure 저장소에 넣고 여기에 언급 된대로 필요한 경우 로컬로 다운로드합니다. http://stackoverflow.com/questions/20615289/where-to-save-extract-files-on-azure-web-sites –

+0

그러나 파일 시스템에 로컬로 저장하면 더 빨리 액세스 할 수 있습니까? – BenjiFB

답변

3

비 로컬 스토리지 시스템을 사용하는 것이 가장 좋은 방법입니다. 속도 요구 사항이 강렬 해지면 성능이 크게 향상 될 가능성은 거의 없습니다.

귀하의 웹 사이트/클라우드 서비스와 동일한 지역에 BLOB 저장소를 권장합니다.

과도한로드가있어서 파일을 빠르게로드해야하는 경우 템플릿을 저장하기 위해 메모리 캐시를 5 분 정도로 설정하십시오. 캐시를 검사 할 때마다 저장소에서 캐시에로드되지 않으면 저장소에서 해당 캐시를로드합니다.

초당 상수 1 요청 이상을 얻으면 캐시를 사용할 수 있습니다. 그보다 더 낮 으면 BLOB 저장소에서 직접 요청에 따라 읽을 수 있습니다.

당신이 정말로 디스크에서 로컬로 무언가를 얻고 싶다면

Server.MapPath("~/YourFolder/YourFile.ext") 
+0

통찰력에 감사드립니다. 호기심에서, (당신의 의견으로는) Azure 로컬 스토리지를 사용해야 할 때? http://msdn.microsoft.com/en-us/library/azure/ee758708.aspx – BenjiFB

+0

제안하는 메모리 캐싱 시스템을 구현하기위한 전략에 대한 간단한 아이디어를 제공 할 수 있습니까? – BenjiFB

+0

다음은 웹 API를 캐시하는 방법의 예입니다. http://stackoverflow.com/questions/18937545/caching-application-data-in-memory-mvc-web-api – BenjiFB