在C#应用程序中,我正在使用DSACryptoServiceProvider创建签名。如果执行应用程序的用户有临时配置文件,我会收到异常:CryptographicException:“用户的配置文件是临时配置文件。”
如果设置DSACryptoServiceProvider.UseMachineKeyStore = true,则可以解决故障; 但我首先要检查是否需要进行此更改。为此,我希望在我的代码中检查用户是否有临时配置文件。
我该怎么检查?
答案 0 :(得分: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
希望这有助于为你清理一些事情。