如何为我的 ASP.NET Web 应用程序引用 App_Data 文件夹中的 Sqlite db 文件?
Posted
技术标签:
【中文标题】如何为我的 ASP.NET Web 应用程序引用 App_Data 文件夹中的 Sqlite db 文件?【英文标题】:How do I reference the Sqlite db file in the App_Data folder for my ASP.NET Web Application? 【发布时间】:2010-11-28 02:52:48 【问题描述】:我目前根据 ASP.NET 最佳模式和实践将我的 sqlite db 文件存储在 App_Data 文件夹中。
目前我在 webconfig 中使用以下内容:
<connectionStrings>
<add name="sqlite"
connectionString="Data Source=|DataDirectory|MyDB; Version=3;" />
</connectionStrings>
以及以下代码:
public SqliteDAO(string path)
Connection = new System.Data.SQLite.SQLiteConnection(path );
//...
//where path = |DataDirectory|MyDB
它会导致 sqlite 创建一个新数据库(其中没有表),因此我的数据访问调用都不起作用,因为它们没有找到表名。如何从我的 WebApplication 代码中引用 App_Data 文件夹中的 sqlite db 文件??
谢谢!
【问题讨论】:
【参考方案1】:将 Server.MapPath 用于您的 db 文件。所以会是这样的
Server.MapPath(@"~\App_Data\Your.db");
【讨论】:
这可能是一个愚蠢的问题,但是你将如何从一个不是“CodeBehind”文件的文件中做到这一点,你没有服务器对象?您是否必须传递服务器对象或代码隐藏文件中的路径? @kdmurray - 你可以使用这个方法:msdn.microsoft.com/en-us/library/… 谢谢本。通过将 HttpContext 对象传递给另一个类,我自己也设法找到了解决方案: MyClass c = new MyClass(); c.myFunc(this.Context); @kdmurray,有点晚了,但是如果您在 asp.net 中工作并且不需要传递它,您总是可以使用静态System.Web.HttpContext.Current
对象。以上是关于如何为我的 ASP.NET Web 应用程序引用 App_Data 文件夹中的 Sqlite db 文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何为 asp.net vnext 使用不同的 .net 语言 (F#)
如何为 ASP.NET Core 应用配置 Azure 应用服务日志记录提供程序?
如何为 ASP.net UserControl 指定命名空间?
如何为 Asp.NET MVC 5 创建 ClaimsIdentity 对象?