【发布时间】:2016-08-17 15:14:41
【问题描述】:
我正在使用 C# WebApi。我已将服务引用添加到 WebService。 WebService 需要存在证书,我已将其包含在我的项目中。
现在的问题是,当我在本地机器上运行它时,一切正常。但是,当我将它部署到 live 时,它不会工作。一旦我在现场运行它,应用程序就找不到 .pfx 文件,该文件肯定包含在项目中并且位于正确的位置(项目根目录)。
我已经尝试过 HttpContext.Current.Request.MapPath、HttpContext.Current.Server.MapPath,但是这些似乎都不起作用,因为它仍然说找不到指定的文件。
我只是不明白它如何在我的本地机器上完美运行,但它不能在现场运行。
谁能帮助我?快把我逼疯了。
更新: 好的,我发现 PFX 文件不是问题所在。我检查了它是否可以找到带有“File.Exists”的文件,它实际上可以找到该文件。我发现当我尝试从给定路径创建新的 X509Certificate 时发生错误
X509Certificate cert = new X509Certificate(pfxPath, pfxPassword);
pfxPath 是我刚刚确认确实存在的文件的路径。
【问题讨论】: