簡體   English   中英

嘗試打開文件時找不到文件

[英]file not found when I trying to open it

我正在嘗試打開證書文件:

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

_logger.Debug(KKBpfxFile);

X509Certificate2 KKbCert = new X509Certificate2(KKBpfxFile, KKBpfxPass);

但是,我找不到異常文件。 在日志文件contais中,以下路徑:

C:\\ inetpub \\ wwwroot \\ msite \\ Certificates \\ cert.pfx

我在資源管理器中打開了此路徑,一切正常。 該文件存在。
哪里有問題?

PS。 我將此文件夾的所有(讀取,寫入和其他)權限授予了ALL組。
PS2。 這僅在生產服務器上是問題。 在我的本地機器上工作正常。

嘗試在調用構造函數之前放置File.Exists()檢查。

此外,取決於應用程序池正在運行的用戶,訪問權限仍然可能存在問題,但是如果將訪問權限設置為“每個人”,它應該可以工作。 仍然...在生產服務器上再次檢查。

同樣,作為下一步,您可以檢查文件的ACL,並在調用構造函數之前查看是否具有讀取權限,甚至更進一步,將文件加載到字節數組中,然后將字節數組作為arg調用構造函數。

使用procexp.exe並在exe中給出路徑。 我會告訴您哪個程序鎖定了您的文件。 請求程序釋放它。不要因為它是生產服務器而將其殺死。

可以在本地計算機上找到Procexp,也可以從microsoft下載。 將tat exe復制到生產服務器並從那里運行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM