A avut loc o excepție nerezolvată și procesul a fost încheiat.
ID aplicație: /LM/W3SVC/2/ROOT
ID-ul procesului: 6928
Exception: System.Security.Cryptography.CryptographicException
Message: 系统找不到指定的路径。
StackTrace: 在 System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr) În System.Security.Cryptography.SafeKeyHandle._FreeHKey (IntPtr pKeyCtx) În System.Security.Cryptography.SafeKeyHandle.ReleaseHandle() la System.Runtime.InteropServices.SafeHandle.InternalFinalize() la System.Runtime.InteropServices.SafeHandle.Dispose(Boolean disposing) at System.Runtime.InteropServices.SafeHandle.Finalize()
Există multe site-uri pe IIS, cine știe care site aruncă anomalia??? Nu spune clar, iritabil
ID aplicație: /LM/W3SVC/2/ROOT Acesta ar trebui să fie site-ul despre care orașul spune că a fost raportată eroarea, dar cine știe ce înseamnă asta
/LM/W3SVC/1/Root 里面各项都代表什么?
LM --- numele serverului local Serverul W3SVC ---- IIS 1---- Site-uri cu Site ID 1 Rădăcină--- rădăcina locului
Acest pasaj este încă ceva ce am găsit pe Internet și l-am modificat ușor, jurnalul de eroare "Application ID: /LM/W3SVC/2/ROOT", adică eroarea cauzată de site-ul cu site-ul ID 2
sau execută
Putem vedea informațiile relevante pe site
Am aflat unde era greșeala și apoi am început să o rezolv...
Când se depanează local sau se publică pe IIS local, criptarea și decriptarea funcționează bine, dar când un serviciu este publicat pe un server la distanță, următoarea eroare este afișată în timpul decriptării:
System.Security.Cryptography.CryptographicException:系统找不到指定的文件。
În Util.Security.RSAUtils.decrypt(String encryptData,String privateKey) la locația D:\documents\visual studio2010\Projects\MSPJK\MSPJK\RSAUtils.cs: linia numărul 175
În MSPJK.DAO.DAO.login(loginInfo loginInfo) locația D:\documents\visualstudio 2010\Projects\MSPJK\MSPJK\DAO.cs: numărul liniei 2052
După ce am găsit multe informații, s-a rezolvat. Soluția este următoarea:
Introdu codul:
RSACryptoServiceProvider provider = new RSACryptoServiceProvider(); Schimbat în:
CspParameters RSAParams = noi CspParameters(); RSAParams.Flags = CspProviderFlags.UseMachineKeyStore; System.Security.Cryptography.RSACryptoServiceProvider furnizor = nou RSACryptoServiceProvider(1024, RSAParams); Testează din nou, bine!
|