Произошло необработанное исключение, и процесс был прекращён.
ID приложения: /LM/W3SVC/2/ROOT
Идентификатор процесса: 6928
Exception: System.Security.Cryptography.CryptographicException
Message: 系统找不到指定的路径。
StackTrace: 在 System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr) В System.Security.Cryptography.SafeKeyHandle._FreeHKey году (IntPtr pKeyCtx) В разделе System.Security.Cryptography.SafeKeyHandle.ReleaseHandle() в System.Runtime.InteropServices.SafeHandle.InternalFinalize() в System.Runtime.InteropServices.SafeHandle.Dispose (булевое утилизация) в System.Runtime.InteropServices.SafeHandle.Finalize()
Существует много сайтов на IIS, кто знает, какой сайт выдает аномалию??? Не говори это прямо, раздражительно
Идентификатор приложения: /LM/W3SVC/2/ROOT, должно быть, это сайт, где город сообщает об ошибке, но кто знает, что это значит
/LM/W3SVC/1/Root 里面各项都代表什么?
Имя --- локального сервера W3SVC ---- IIS сервер 1---- Сайты с идентификатором сайта 1 Root--- site root
Этот отрывок я всё ещё нашёл в интернете и немного изменил его — журнал ошибок «Application ID: /LM/W3SVC/2/ROOT», то есть ошибку, вызванную сайтом с ID 2
или выполнить
Соответствующую информацию можно увидеть на сайте
Я выяснил, где была ошибка, и начал её решать...
При локальной отладке или публикации в локальном IIS шифрование и расшифровка работают нормально, но при публикации сервиса на удалённый сервер при расшифровке отображается следующая ошибка:
System.Security.Cryptography.CryptographicException:系统找不到指定的文件。
В Util.Security.RSAUtils.decrypt(String encryptData,String privateKey) по адресу D:\documents\visual studio2010\Projects\MSPJK\MSPJK\RSAUtils.cs: линия номер 175
В MSPJK.DAO.DAO.login(loginInfo loginInfo) location D:\documents\visualstudio 2010\Projects\MSPJK\MSPJK\DAO.cs: линия номер 2052
После того как я нашёл много информации, проблема была решена. Решение следующее:
Введите код:
RSACryptoServiceProvider provider = новый RSACryptoServiceProvider(); Изменено на:
CspParameters RSAParams = новые CspParameters(); RSAParams.Flags = CspProviderFlags.UseMachineKeyStore; System.Security.Cryptography.RSACryptoServiceProvider = новый RSACryptoServiceProvider(1024, RSAParams); Проверь ещё раз, хорошо!
|