0

App_Data 폴더가있는 ASP.NET 웹 API 프로젝트가 있습니다. 그 안에는 응용 프로그램에서 사용하는 데이터베이스 파일 (.sqlite)이 있습니다. 구성 파일에있는 연결 문자열이 있습니다. 경로는 절대적이며 현재 파일 구조 (C : \ Something \ Other \ App_Data \ MyDb.sqlite)를 포함합니다. 문제는 Azure에서 호스트하고 Azure가이 경로를 찾지 못할 가능성이 높다는 것입니다. 그래서, Azure에서 상대 경로를 사용하고 싶습니다. 파일이 제대로 배치됩니다.Visual Studio의 App_Data 폴더를 상대적으로 탐색하는 방법

답변

0

서버 측 코드 (C#, VB.NET 등) 내에서 사용할 수있는 것은 ~/App_Data/입니다. 당신이 사용할 수있는 연결 문자열 내에서 디렉토리에 도달하려는 경우

: Data Source=|DataDirectory|DatabaseName.sdf

0

당신이 단일 인스턴스와 푸른 웹 응용 프로그램을 사용하려면, 제시 존슨이 제공하는 연결 문자열을 시도하십시오. 웹 응용 프로그램이 여러 컴퓨터에서 확장이 필요한 경우 SqlLite를 사용하는 것이 적합하지 않다고 생각합니다. Azure Web App ARR은 요청을 일부 인스턴스로 보내고 데이터는 SqlLite를 통해이 인스턴스에 저장됩니다. 다음에 요청이 다른 인스턴스로 전달되면 이전에 저장 한 데이터를 읽을 수 없다고 생각합니다. Azure Storage 또는 Azure SQL을 선택하여 데이터를 저장하는 것이 더 좋습니다.

+0

'단일 인스턴스'란 무엇을 의미합니까? 거기에 호스팅되는 ASP.NET 웹 API가 있고 별도의 응용 프로그램처럼 실행됩니다. – user2128702

+0

Azure 포털에서 웹 API를 확장 할 수 있습니다. 나는 [이 기사] (https://azure.microsoft.com/en-us/documentation/articles/web-sites-scale/)가이 개념을 도울 수 있다고 생각한다. 더 많은 인스턴스가 귀하의 웹 API가 매우 큰 요청을 처리하는 데 도움이 될 수 있습니다. 그리고 내 대답에서 말했듯이 SqlLite를 사용하는 경우 가끔 데이터를 올바르게 가져올 수 없습니다. Azure 웹 응용 프로그램의 SqlLite 제한 사항 –