2010-03-07 66 views
8

在C#應用程序中,我使用DSACryptoServiceProvider創建了一個簽名。如果執行apllication的用戶具有臨時配置文件,則會收到一個異常:CryptographicException:「用戶的配置文件是臨時配置文件。」如何知道執行應用程序的用戶的配置文件是否爲臨時配置文件?

如果我設置DSACryptoServiceProvider.UseMachineKeyStore =真故障是可以解決的; 但我首先要檢查是否需要此更改。爲此,我想在我的代碼中檢查用戶是否有臨時配置文件。

我如何檢查?

+0

不一樣的使用情況,但是這是一個類似的問題 - http://stackoverflow.com/questions/43762021/programmatically-detect-that-user-has-logged-in-with-temporary-profile – William 2017-05-04 18:18:43

回答

1

我已經在這個問題上發現的唯一信息似乎在ClickOnce部署指向。

有貌似沒有已知的解決方法,因爲你要爲了讓你在進行通話使用非臨時配置...

顯然,你似乎已經回答了你自己的問題看這裏......

我想在我的代碼檢查用戶 有一個臨時的配置文件。

我如何檢查?

答案是...

如果執行apllication 用戶有一個臨時配置文件,我得到一個 例外:CryptographicException: 「用戶配置文件是一個臨時 配置文件「。

看起來很簡單,如果您遇到該錯誤,您需要使用不同的配置文件執行。 您可能有一個測試方法,在運行實際代碼之前執行此代碼作爲檢查。

我聽到另外一個選項雖然,假設這是你應該能夠得到這樣的電流分佈的asp.net應用程序的上下文中......

ProfileCommon profile = HttpContext.Current.Profile as ProfileCommon; 

從那裏,你應該可以查詢個人資料情況下,我相信它在這裏記錄了類型ProfileBase的...

http://msdn.microsoft.com/en-us/library/ms151820(v=VS.100).aspx

希望這有助於明確了一點東西給你。

相關問題