0

私はApp_Dataフォルダを持つASP.NET Web 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

あなたは、単一のインスタンスを使用してAzureのWebアプリケーションを使用したい場合は、ジェシー・ジョンソンが提供する接続文字列を試してみてください。あなたのWebアプリケーションが複数のマシンにまたがって規模を必要とする場合、私はSqlLiteがあなたに適していないと思います。 Azure Web App ARRはリクエストをあるインスタンスにディスパッチし、データはSqlLite経由でこのインスタンスに保存されます。次回にリクエストが別のインスタンスにディスパッチされた場合、以前に保存したデータを読み取ることができなかったと思います。 Azure StorageまたはAzure SQLを選択してデータを保存する方が良いと思います。

+0

「シングルインスタンス」とはどういう意味ですか?私はそこにホストされ、別のアプリケーションのように実行されるASP.NET Web APIを持っています。 – user2128702

+0

AzureポータルでWeb APIを拡張することができます。私は[この記事](https://azure.microsoft.com/en-us/documentation/articles/web-sites-scale/)がこのコンセプトにあなたを助けてくれると思います。より多くのインスタンスは非常に大きな要求を処理するためにあなたのWeb APIを助けることができます。そして、私が返事で言ったように、SqlLiteを使うとデータを正しく取得できないことがあります。これは、Azure WebアプリケーションのSqlLiteの制限です –

関連する問題