gpt4 book ai didi

c# - 我如何知道执行应用程序的用户的配置文件是否是临时配置文件?

转载 作者:可可西里 更新时间:2023-11-01 09:15:57 25 4
gpt4 key购买 nike

在 C# 应用程序中,我使用 DSACryptoServiceProvider 创建签名。如果执行应用程序的用户有一个临时配置文件,我会得到一个异常:CryptographicException: "The profile for the user is a temporary profile."

如果我设置 DSACryptoServiceProvider.UseMachineKeyStore = true 就可以解决这个问题;但我首先要检查是否需要进行此更改。为此,我希望在我的代码中检查用户是否具有临时配置文件。

我如何检查?

最佳答案

我在这个问题上找到的唯一信息似乎指向 clickonce 部署。

似乎没有已知的解决方法,因为您应该使用非临时配置文件来调用您正在调用的电话......

显然你似乎已经回答了你自己的问题看这里...

I want in my code to check of the user has a temporary profile.

How can I check that?

答案是……

If the user executing the apllication has a temporary profile, I get an exception: CryptographicException: "The profile for the user is a temporary profile."

看起来相当简单,如果您遇到该错误,则需要使用不同的配置文件执行。在运行实际代码之前,您可以有一个测试方法来执行此代码作为检查。

不过,我听说过另一种选择,假设这是在 asp.net 应用程序的上下文中,您应该能够像这样获取当前配置文件 ...

ProfileCommon profile = HttpContext.Current.Profile as ProfileCommon;

从那里您应该能够查询配置文件实例,我相信它是此处记录的一种 ProfileBase ...

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

希望这有助于您理清思路。

关于c# - 我如何知道执行应用程序的用户的配置文件是否是临时配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2395637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com