这可能是由于应用程序池身份验证的问题导致的。首先,请确保您在运行aspnet_regiis时使用了正确的参数来指定您要加密的web.config文件的路径。如果您已经使用了正确的参数,那么请确保应用程序池身份验证在加密和解密期间是相同的。
例如,如果您的应用程序使用的是默认的应用程序池,而该池的身份验证是默认的“ApplicationPoolIdentity”,则您应该在加密和解密期间都使用此身份验证来运行应用程序池。
下面是一个示例,它演示了如何在IIS 7上运行aspnet_regiis来加密/解密web.config文件,并指定应用程序池的身份验证:
加密:
aspnet_regiis -pe "connectionStrings" -app "/TestApp" -prov "RsaProtectedConfigurationProvider" -pki
解密:
aspnet_regiis -pd "connectionStrings" -app "/TestApp"
在这里,“/TestApp”是您的应用程序的虚拟路径。请根据您的实际情况进行修改。