|
| 1 | +## 常见问题:本地开发时正常,发布到 IIS 后请求抛出异常? |
| 2 | + |
| 3 | +--- |
| 4 | + |
| 5 | +如果你遇到的异常信息如下: |
| 6 | + |
| 7 | +``` |
| 8 | +Message: |
| 9 | + Failed to sign request. Please see the inner exception for more details. |
| 10 | +
|
| 11 | +StackTrace: |
| 12 | + at SKIT.FlurlHttpClient.Wechat.TenpayV3.Interceptors.WechatTenpayRequestSigningInterceptor.BeforeCallAsync(HttpInterceptorContext context, CancellationToken cancellationToken) |
| 13 | + at SKIT.FlurlHttpClient.CommonClientBase.<>c__DisplayClass12_0.<<-ctor>b__1>d.MoveNext() |
| 14 | + at Flurl.Http.FlurlClient.RaiseEventAsync(FlurlEventType eventType, FlurlCall call) |
| 15 | + at Flurl.Http.FlurlClient.SendAsync(IFlurlRequest request, HttpCompletionOption completionOption, CancellationToken cancellationToken) |
| 16 | + at SKIT.FlurlHttpClient.CommonClientBase.SendFlurlRequestAsync(IFlurlRequest flurlRequest, HttpContent httpContent, CancellationToken cancellationToken) |
| 17 | + at SKIT.FlurlHttpClient.CommonClientBase.SendFlurlRequestAsJsonAsync(IFlurlRequest flurlRequest, Object data, CancellationToken cancellationToken) |
| 18 | + at SKIT.FlurlHttpClient.Wechat.TenpayV3.WechatTenpayClient.SendFlurlRequestAsJsonAsync[T](IFlurlRequest flurlRequest, Object data, CancellationToken cancellationToken) |
| 19 | +
|
| 20 | +InnerException: |
| 21 | + System.Security.Cryptography.CryptographicException: 系统找不到指定的文件。 |
| 22 | + Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: 系统找不到指定的文件。 |
| 23 | + at System.Security.Cryptography.CngKeyLite.ImportKeyBlob(String blobType, ReadOnlySpan1 keyBlob, Boolean encrypted, ReadOnlySpan1 password) |
| 24 | + at System.Security.Cryptography.CngPkcs8.ImportPkcs8(ReadOnlySpan1 keyBlob) at System.Security.Cryptography.CngPkcs8.ImportPkcs8PrivateKey (ReadOnlySpan1 source, Int32& bytesRead) |
| 25 | + at System.Security.Cryptography.RSAImplementation.RSACng.ImportPkcs8PrivateKey(ReadOnlySpan`1 source, Int32& bytesRead) |
| 26 | + at SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities.RSAUtility.SignWithSHA256(Byte[] privateKeyBytes, Byte[] messageBytes) |
| 27 | + at SKIT.FlurlHttpClient.Wechat.TenpayV3.Utilities.RSAUtility.SignWithSHA256(String privateKeyPem, String messageData) |
| 28 | + at SKIT.FlurlHttpClient.Wechat.TenpayV3.Interceptors.WechatTenpayRequestSigningInterceptor.BeforeCallAsync(HttpInterceptorContext context, CancellationToken cancellationToken) |
| 29 | +``` |
| 30 | + |
| 31 | +请检查你的 IIS 应用程序池设置中是否开启了「用户加载配置文件」选项。如果没有,请尝试勾选后重启服务。 |
| 32 | + |
| 33 | +--- |
| 34 | + |
| 35 | +> 参考链接: |
| 36 | +> |
| 37 | +> https://stackoverflow.com/questions/17840825 |
0 commit comments