using (var _rsa = System.Security.Cryptography.RSA.Create(2048)) 报找不到文件的错误
因为在登录的时候应用了RSA加密,想不到在本地测试好好的,上传到服务器就报错,因为服务器上无法下断点跟踪,只好一行一行writelog() 看,
public static void WriteLog(string log)
{
StreamWriter dout = new StreamWriter(AppDomain.CurrentDomain.BaseDirectory + "Data\\log" + ".txt", true);
dout.Write(System.DateTime.Now.ToString()+"\t" + log+"\r\n");
dout.Close();
}
结果发现调用using (var _rsa = System.Security.Cryptography.RSA.Create(2048)) 代码的时候抛出了异常
Exception:系统找不到指定的文件。
就这样简单的几个字,再也没有多余的信息了。经过一阵查询,用以下方法解决了问题。找到应用程序池,点开高级设置,如下图,找到下面的配置
加载用户配置文件设置为TRUE即可。
原理:
.NET的RSA加密会加载密钥到密钥存储区,用户加载配置文件为false时,没有密钥存储区的访问权限。所以报“系统找不到指定的文件。”异常