如何以相对方式

时间:2016-10-12 15:43:55

标签: sqlite asp.net-web-api azure-storage-blobs relative-path

我有一个ASP.NET Web Api项目,其中包含 App_Data 文件夹。在其中我有一个数据库文件(.sqlite),我在我的应用程序中使用它。它的连接字符串位于我的配置文件中。路径是绝对的,包括我当前的文件结构( C:\ Something \ Other \ App_Data \ MyDb.sqlite )。问题是我想在Azure上托管它,很可能Azure找不到这条路径。因此,为此我想使用相对路径,以便在Azure上正确定位文件。

2 个答案:

答案 0 :(得分:0)

在服务器端代码(C#,VB.NET等)中,您可以使用:~/App_Data/

如果您尝试访问连接字符串中的目录,可以使用:Data Source=|DataDirectory|DatabaseName.sdf

答案 1 :(得分:0)

如果要将Azure Web应用程序与单个实例一起使用,请尝试Jesse Johnson提供的连接字符串。如果您的Web应用程序需要跨多台计算机进行扩展,我认为SqlLite不适合您使用。 Azure Web App ARR会将请求分派给某个实例,您的数据将通过SqlLite保存到此实例。如果下次将请求分派给另一个实例,我认为您无法读取之前保存的数据。我认为最好选择Azure存储或Azure SQL来保存数据。