我有一个我正在修改的asp.net应用程序。我设置visual studio 2010发布到运行Windows Server 2008 RC 2的开发服务器(不要认为这很重要)。我通过视觉工作室“添加新项目”功能向应用程序添加了一个新的webform,它可以在我的本地计算机上运行。当我发布到服务器时,它开始抛出加密异常,因为它试图访问.p12文件,以便将苹果推送通知发送到iphone设备。起初我认为证书有问题所以我在代码中添加了print语句,并注意到它试图访问本地机器上文件路径的新页面而不是服务器上的文件路径。有没有人对它为什么这样做有任何想法?有没有办法使文件路径相对于项目?
答案 0 :(得分:1)
服务器没关系。该文件添加了绝对路径。不确定为什么也没有时间研究。
如何在调试计算机上设置站点?您使用的是IIS还是ASP.NET开发服务器?不确定这是否有所帮助,但切换到IIS并更好地模仿生产通常可以解决这些小麻烦类型的错误。要切换,请将文件夹添加到IIS,然后删除项目并使用HTTP路径而不是项目文件夹重新包含。
如果本地IIS不是一个选项,或者您已经这样做了,我会搜索相关路径并在那里进行更改。如果您没有找到任何结果,我们可以将这些内容嵌入到解决方案文件中。
答案 1 :(得分:1)
您必须使用MapPath(“{relativePath / FileName}”)。这将返回物理路径。
filename = MapPath("/images/logo.jpg")
是否有类似“C:\ inetpub \ webroot \ images \ logo.jpg”的内容