我已将我的web项目发布到本地iis,但框架找不到“db”文件。在调试中没有问题,我可以连接但在localhost我不能。这是我的连接字符串:
<connectionStrings>
<add name="PROD" connectionString="data source=app.db;" providerName="System.Data.SQLite"/>
</connectionStrings>
我尝试了一切“../app.db”“direct_path”“〜/ app.db”
可能出现什么问题?
它可以在D:\驱动器或inetpub驱动器以外的地方找到数据库。我不明白这是否是一个许可问题。我怎样才能找到确切的解决方案?
答案 0 :(得分:2)
我使用System.AppDomain.CurrentDomain.BaseDirectory获取物理路径,然后找到sqlite文件的路径。它奏效了!
答案 1 :(得分:0)
这很可能是权限问题。这在调试时有效,因为网站在您的凭据下运行,您可以完全控制。在部署时,它在IIS_USRS下运行,这是一个高度限制性的,并且很可能默认情况下对该文件没有写入权限。
为IIS_USRS帐户提供对目录/文件的读/写权限,这应该可以。