我尝试打开它时找不到文件

时间:2013-02-01 08:09:25

标签: c# asp.net asp.net-mvc

我正在尝试打开证书文件:

//path to file
static string KKBpfxFile = 
    Path.Combine(HostingEnvironment.ApplicationPhysicalPath,
                 ConfigurationManager.AppSettings["CertFolder"], 
                 "cert.pfx");

_logger.Debug(KKBpfxFile);

X509Certificate2 KKbCert = new X509Certificate2(KKBpfxFile, KKBpfxPass);

但是,我找不到异常文件。在日志文件中包含以下路径:

  

C:\的Inetpub \ wwwroot的\ msite \证书\ cert.pfx

我在资源管理器中打开此路径,一切正常。该文件存在。
哪里有问题?

PS。我将此文件夹的所有(读取,写入和其他)权限授予ALL组 PS2。这只是生产服务器上的问题。在我的本地机器上工作。

2 个答案:

答案 0 :(得分:1)

尝试在调用构造函数之前进行File.Exists()检查。

此外,访问权限仍然存在问题,具体取决于运行应用程序池的用户,但如果您将访问权限设置为“Everyone”,则应该可以使用。仍然......仔细检查生产服务器上的内容。

另外,作为进一步的步骤,您可以检查文件的ACL,并在调用构造函数之前查看您是否具有读取权限,更进一步,将文件加载到字节数组中并使用字节数组调用构造函数ARG。

答案 1 :(得分:0)

使用procexp.exe并在exe中提供路径。我会说你哪个程序锁定了你的文件。请求程序重新启用它。不要杀死它,因为它是生产服务器。

可以在本地计算机上找到Procexp /从microsoft下载。将tat exe复制到produciton服务器并从那里运行