ASP.NET应用程序在发布到windows server 2008计算机时使用了错误的文件路径
本文关键字:错误 路径 文件 计算机 2008 应用程序 NET server windows ASP | 更新日期: 2023-09-27 17:58:46
我有一个正在修改的asp.net应用程序。我设置visualstudio2010发布到正在运行windowsserver2008RC2的开发服务器(不认为这很重要)。我通过visualstudios的"添加新项目"功能向应用程序添加了一个新的网络表单,它在我的本地计算机上运行。当我发布到服务器时,它开始抛出加密异常,因为它试图访问.p12文件,以便向iphone设备发送苹果推送通知。一开始我认为证书有问题,所以我在代码中添加了打印语句,并注意到它试图访问我本地机器上的文件路径而不是服务器上的文件目录下的新页面。有人知道它为什么这么做吗?有没有一种方法可以使文件路径相对于项目?
您必须使用MapPath("{relativePath/FileName}")。这将返回一个物理路径。
filename = MapPath("/images/logo.jpg")
是否会出现类似"C:''inetpub''webroot''images''logo.jpg"
服务器无关紧要。添加文件时使用了绝对路径。不知道为什么,也没有时间去研究。
如何在调试机器上设置站点?您使用的是IIS还是ASP。NET开发服务器?不确定这是否有什么大不了的,但切换到IIS并更好地模拟生产通常可以解决这些小错误。若要切换,请将文件夹添加到IIS,然后删除项目并使用HTTP路径而不是项目文件夹重新包含。
如果本地IIS不是一个选项,或者您已经这样做了,我会搜索有问题的路径并在那里进行更改。如果你没有发现任何结果,这可以让我们在解决方案文件中嵌入一些方法。