2016-08-17 110 views
0

我正在使用C#WebApi。我已經向WebService添加了一個服務引用。 WebService需要一個證書才能出現,我已經將其包含在我的項目中。問題與wsdl /肥皂

現在的問題是,當我在本地機器上運行它時,所有事情都應該如此。但是,當我部署它時,它將無法工作。一旦我在live上運行它,應用程序就找不到.pfx文件,該文件肯定包含在項目中並位於正確的位置(Project root)。

我試過HttpContext.Current.Request.MapPath,HttpContext.Current.Server.MapPath,但是這些似乎都不起作用,因爲它仍然說它找不到指定的文件。

我只是不明白它如何在我的本地機器上完美無瑕地工作,但它不能在現場正常工作。

任何人都可以幫助我嗎?這讓我瘋狂。

更新: 好吧,我發現PFX文件不是問題。我檢查了是否可以用'File.Exists'找到文件,它實際上可以找到該文件。我發現當我嘗試從給定路徑創建一個新的X509Certificate時發生錯誤

X509Certificate cert = new X509Certificate(pfxPath,pfxPassword);

其中pfxPath將成爲我剛剛確認存在的文件的路徑。

回答

1

嗯,我已經想通了。似乎我必須在我的網站的應用程序池高級設置中將'Load User Profile'選項設置爲'true'。

它現在按預期工作!