设置IIS池的LoadUserProfile时会发生什么情况?
我面临以下问题。 我运行以下代码 var binaryData = File.ReadAllBytes(pathToPfxFile); var cert = new X509Certificate2(binaryData, password); 在两个过程中。其中一个进程运行,LOCAL_SYSTEM并且此代码成功。另一个在IIS内以属于“用户”本地组的本地用户帐户运行,并且出现以下异常: System.Security.Cryptography.CryptographicException Object was not found. at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr) at System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromBlob(Byte[] rawData, IntPtr password, UInt32 dwFlags, Boolean persistKeySet, SafeCertContextHandle& pCertCtx) at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromBlob(Byte[] rawData, Object password, X509KeyStorageFlags keyStorageFlags) at System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(Byte[] rawData, String password) //my code here 因此,我用Google搜索了一下,找到了类似问题的答案。我尝试启用LoadUserProfile应用程序池,并且现在可以使用。 问题是我不了解设定时到底发生了LoadUserProfile什么以及可能产生的后果。我的意思是,如果这是一件“好”的事情,那么为什么默认情况下它不处于“开启”状态?为什么它在那里呢? 当我LoadUserProfile在IIS池中进行设置时,究竟会发生什么,会带来什么负面影响?