使用 Asp.Net 在服务器上的 Web 应用程序文件夹之外获取 db 路径
Posted
技术标签:
【中文标题】使用 Asp.Net 在服务器上的 Web 应用程序文件夹之外获取 db 路径【英文标题】:Get db path outside of web app folder on server using Asp.Net 【发布时间】:2011-09-30 16:57:57 【问题描述】:我向服务器发布了一个 Web 应用程序,我想访问一个数据库文件 (.mdb),该文件也存储在服务器上我以外的不同位置。如何在我的 Asp.Net 应用程序的 web.config 文件中执行此操作?
<add name="MyOleDbConnection" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source= **?** \inventory.mdb"/>
【问题讨论】:
你能定义“我之外”吗?您的意思是它在 Web 应用程序的根目录之外? 【参考方案1】:我不相信您可以通过代码使用 Server.MapPath() 之类的东西来做到这一点 - 这是有充分理由的。这将允许开发人员编写接管云服务器上主机操作系统的应用程序。限制您确定不受 IIS 控制的文件/文件夹的路径,以防止目录遍历攻击。
您需要询问系统管理员或有权访问该计算机上路径的人员。获得完整路径后,您可以在 .config 中设置完整路径
c:\path\inventory.mdb
而不是
\inventory.mdb
您还需要确保系统管理员授予您访问 .mdb 的权限。
【讨论】:
我的项目当前位于虚拟目录中,.mdb 文件位于我的虚拟目录之外的目录中。 谢谢,它成功了。我打电话给系统管理员,他们给了我虚拟文件夹之外的完整路径。以上是关于使用 Asp.Net 在服务器上的 Web 应用程序文件夹之外获取 db 路径的主要内容,如果未能解决你的问题,请参考以下文章
在 Asp.Net Core Web 应用程序中使用 EasyAuth 对 Azure 应用服务上的 AAD 进行身份验证时,无法填充 ClaimsPrincipal
一台服务器上的多个 Web 应用程序(Silverlight 和 ASP.NET MVC)
如何使用 HTTP 连接通过托管在 IIS 上的 ASP.NET 成员身份保护 ASP.NET Web API [重复]