gpt4 book ai didi

asp.net - 缓冲区不能为空。参数名称 : buffer

转载 作者:行者123 更新时间:2023-12-03 20:18:42 26 4
gpt4 key购买 nike

我编写了代码来发送带有 URL 链接的电子邮件,用户必须单击该 URL 进行确认。

示例链接:
http://localhost:3531/VerificationModule/VerifyEmail.aspx?TemplateID=519457608&F960866879F669E=Tw5NpFeW9HsAqc_Ap5dmOwqkZ041pFQGYLxRV-puumtHsfhrTYtDe51uCbGV44Kc1X3n6cggsynfqRmh74ie535ymkvATeK5Jii11tOMIZDZ_GVB8QolLeMU5i6KWEZculKhM0IOhYFaMc-DsB

但是当用户单击该链接时,它会在浏览器中打开,但会显示以下错误。

"Buffer cannot be null. Parameter name: buffer"

Please find below the stack trace:


[ArgumentNullException: Buffer cannot be null.
Parameter name: buffer]
System.IO.MemoryStream..ctor(Byte[] buffer, Boolean writable) +9629927
System.IO.MemoryStream..ctor(Byte[] buffer) +6
Auth.IdentityTokenXChangeData.Deserialize(String base64Package) +187
Auth.IdentityTokenXChange.TrySniffIdentityToken(HttpRequest req, String& sessionId, String& sessionTag, String& returnUrl) +244
Auth.IdentityModule.OnBeginRequest(Object sender, EventArgs e) +365
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +220
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +120`

这是吃光了我的一天。任何建议都会有很大帮助。

有关于错误的线索..
我相信问题出在 QueryString 中的编码值
("F960866879F669E=Tw5NpFeW9HsAqc_Ap5dmOwqkZ041pFQGYLxRV-puumtHsfhrTYtDe51uCbGV44Kc1X3n6cggsynfqRmh74ie535ymkvATeK5Jii11tOMIZDZ_GVB8QolLe‌​MU5i6KWEZculKhM0IOhYFaMc-DsB") - 

由于某些原因,Base64 解码返回“null”。
Method -
'System.Web.HttpServerUtility.UrlTokenDecode
("F960866879F669E=Tw5NpFeW9HsAqc_Ap5dmOwqkZ041pFQGYLxRV-puumtHsfhrTYtDe51uCbGV44Kc1X3n6cggsynfqRmh74ie535ymkvATeK5Jii11tOMIZDZ_GVB8QolLe‌​MU5i6KWEZculKhM0IOhYFaMc-DsB")'

知道为什么它返回 null 吗?它不是有效的 Base64 编码吗?

最佳答案

这意味着 Auth.IdentityTokenXChangeData.Deserialize方法创建一个新的 MemoryStream实例为空 buffer争论。

此方法似乎特定于您的代码/环境(您的站点中有一个 Auth.IdentityModule),因此您需要查看它。

关于asp.net - 缓冲区不能为空。参数名称 : buffer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8163159/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com