如何手动处理RSACryptoServiceProvider?

时间:2010-03-19 21:06:38

标签: c# dispose rsacryptoserviceprovider

我已在MSDN上阅读(see Important note),必须处理RSACryptoServiceProvider。他们给出了一个例子:

using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())

现在我正在尝试将RSACryptoServiceProvider包含到MyClass中,并在几个方法中使用它。使用此设置,我无法使用using语句。

相反,我尝试在适当的时间调用RSACryptoServiceProvider对象的.Dispose()方法,但后来我收到编译错误消息:

  

`System.Security.Cryptography.AsymmetricAlgorithm.Dispose(bool)'由于其保护级别而无法访问

RSACryptoServiceProvider是否应该使用比一个函数调用更长的时间(使用using语句)?

如何修复此问题,是不是将Dispose调用作为选项?

1 个答案:

答案 0 :(得分:1)

Clear方法看起来会调用dispose方法:

  

此方法是对IDisposable.Dispose方法的简单调用。   调用Dispose允许将AsymmetricAlgorithm类使用的资源重新分配用于其他目的。有关Dispose的更多信息,请参阅清理非托管资源。