gpt4 book ai didi

c# - 在回发时询问 AD 凭据/"Connection Interrupted"

转载 作者:太空宇宙 更新时间:2023-11-03 14:35:34 24 4
gpt4 key购买 nike

大量引导:

我有一个简单的 ASP .NET 3.5 数据输入网络表单,其中包含一系列下拉列表、文本框和文本区域,并且用户身份验证由 Active Directory 处理。

用户输入字母数字 ID,然后单击按钮。 aspx.cs 中按钮的 onclick():
1.调用一个存储过程来确定它是否是一个新记录,或者如果它已经存在则为现有数据
2. 如果记录存在,则使用现有值预填表格。

已经扩展了三个文本框以使用 ASP .NET AJAX 自动完成(每个都包含在它们自己的 asp:UpdatePanel 中),它们也成功回发。

当用户输入完数据后,有一个按钮可以保存记录,它:
1.调用存储过程,相应地插入或更新
2.清除网络表单
3.显示快速成功消息。

自推出以来,已通过此表单插入和更新了 4000 多条记录。我现在遇到一个问题,其中有 ONE 记录无法更新,它是一个月前通过相同的表格插入的,没有问题。

在 Internet Explorer(6、7 和 8)中:当您单击保存按钮时,它会要求您提供您的域用户名和密码。输入有效的用户名和密码会显示“Internet Explorer 无法显示该网页”屏幕。

在 Firefox 3 中:当您单击保存按钮时,它会显示“连接中断”屏幕。单击“再试一次”按钮不会更改结果。

在应用程序使用的日志记录、服务器的事件日志或 SQL Server 2005 中没有条目。

我试过:
- 在不同的计算机上,它失败了。
- 与不同的用户,它失败了。
- 有许多其他记录,并且它们完美更新。

我已经用两种不同的方式将记录加载到测试环境中:
1.直接从生产数据库复制粘贴到测试数据库
2. 直接从生产webform复制粘贴到测试webform。
该问题不会在测试或我的本地开发系统中发生。生产和测试都运行 ASP .NET 3.5 SP1。

我什至保存了失败的生产页面和作为 HTML 工作的测试页面的副本,并通过 Total Commander 的“按内容比较文件”功能运行它们,希望差异会以红色突出显示很好很明显。唯一的区别在于 .NET 在运行时自动生成的区域,以及下拉列表的项目列表偶尔在生产中比在测试中具有更多条目的地方。

我意识到数据可能有问题导致最终回发失败,但似乎在回发开始之前就已经失败了。我通过查看加载的 aspx 页面和数据库中的源代码查看了记录的数据,希望找到一个杂散的不可见字符或一个包含太多字符的文本区域可能导致它窒息,但没有运气。

一位同事建议在 web.config 中设置 viewStateEncryptionMode="never",这已经“修复”了问题,现在可以无误地更新记录。

很遗憾,我无法提供导致表单失败的数据。

我的问题:有谁知道为什么首先会发生这种情况,或者为什么设置 viewStateEncryptionMode="never" 修复它?比将 ViewStateEncryptMode 设置为 never 更好的解决方案也很受欢迎。

谢谢!

最佳答案

首先,也是最重要的 - 除了 .Net 3.5 SP1 - 确保您在服务器上安装了最新的补丁(这应该始终是第一步)。

假设服务器是最新的,我首先会检查您服务器上的防火墙和防病毒软件(它们应该有日志)。防病毒软件可以阻止使用可疑代码的网站——比如已知的 JavaScript 漏洞(我承认我试过了。为了科学)。 View 状态上的特定组合可能看起来像可疑代码或文件(看起来很奇怪,但可能)。
接下来你可以检查IIS。启用日志记录并查看是否有任何错误。检查您是否安装了任何 isapi 过滤器(这些过滤器可以位于多个位置 -“Web 服务扩展”文件夹,或网站 Properties 的选项卡,或其父属性之一)

关于c# - 在回发时询问 AD 凭据/"Connection Interrupted",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1225042/

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