Ocorreu uma exceção não resolvida e o processo foi encerrado.
ID da aplicação: /LM/W3SVC/2/ROOT
ID do processo: 6928
Exception: System.Security.Cryptography.CryptographicException
Message: 系统找不到指定的路径。
StackTrace: 在 System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr) Em System.Security.Cryptography.SafeKeyHandle._FreeHKey (IntPtr pKeyCtx) Em System.Security.Cryptography.SafeKeyHandle.ReleaseHandle() at System.Runtime.InteropServices.SafeHandle.InternalFinalize() at System.Runtime.InteropServices.SafeHandle.Dispose(Boolean disponing) at System.Runtime.InteropServices.SafeHandle.Finalize()
Existem muitos sites no IIS, quem sabe qual site faz a anomalia??? Não diga isso claramente, irritada
ID da aplicação: /LM/W3SVC/2/ROOT Este deve ser o site onde a cidade diz que o erro foi reportado, mas ninguém sabe o que isso significa
/LM/W3SVC/1/Root 里面各项都代表什么?
LM --- nome do servidor local Servidor W3SVC ---- IIS 1---- Sites com ID de Site 1 Raiz--- raiz do sítio
Esse trecho ainda é algo que encontrei na Internet, e o modifiquei levemente, o log de erro "Application ID: /LM/W3SVC/2/ROOT", ou seja, o erro causado pelo site com ID de site 2
ou executar
Podemos ver as informações relevantes no site
Descobri onde estava o erro, e então comecei a corrigi-lo...
Ao depurar localmente ou publicar em IIS local, criptografia e descriptografia funcionam bem, mas quando um serviço é publicado em um servidor remoto, o seguinte erro é exibido durante a descriptografia:
System.Security.Cryptography.CryptographicException:系统找不到指定的文件。
Em Util.Security.RSAUtils.decrypt(String encryptData,String privateKey) no local D:\documents\visual studio2010\Projects\MSPJK\MSPJK\RSAUtils.cs: linha número 175
Em MSPJK.DAO.DAO.login(loginInfo) localização D:\documents\visualstudio 2010\Projects\MSPJK\MSPJK\DAO.cs: linha número 2052
Depois de encontrar muitas informações, foi resolvido. A solução é a seguinte:
Coloque o código:
RSACryptoServiceProvider provider = new RSACryptoServiceProvider(); Alterado para:
CspParameters RSAParams = novos CspParameters(); RSAParams.Flags = CspProviderFlags.UseMachineKeyStore; System.Security.Cryptography.RSACryptoServiceProvider provedor = novo RSACryptoServiceProvider(1024, RSAParams); Teste de novo, ok!
|