我们的ASP.NET 2.0网站通过调用Authorize.Net的API来处理信用卡交易.授权已通知我们,在确定的日期,我们的客户必须使用TLS 1.2协议进行API调用.
Microsoft似乎表明这个10-22-16 KB文章中提供了一个解决方案:https://support.microsoft.com/en-us/help/3154517/support-for-tls-system-default-versions-included -in最.NET框架-2.0-SP2-ON-Windows的Vista的SP2和服务器-2008-SP2
...我们添加了SslProtocolsExtensions枚举,您可以将其用作设置TLS v1.2,TLS v1.1的选项,以及针对.NET Framework 2.0 SP2时ServicePointManager.SecurityProtocol属性的操作系统默认值.
请注意,尽管有本文的标题,但上述引用并未涉及Windows Vista SP2或Windows 2008 SP2操作系统,因为这些操作系统不支持TLS v1.1和1.2.
我已经通过以下步骤实现并测试了我对KB文章中指出的解决方案的理解:
不幸的是,在运行应用程序时,我在上面第3项中显示的代码行上遇到以下错误:
System.NotSupportedException:不支持请求的安全协议.
在这一点上,我很难过.我特别感谢有关如何推进此解决方案的任何见解,但我有兴趣了解您所知道的任何其他方法,以允许来自ASP.NET 2.0应用程序的API调用来使用TLS 1.2.(升级到更新版本的.NET框架是最后的选择.)
在此先感谢您的帮助!
我有一个ASP.Net RadioButtonList控件,AutoPostBack设置为true.我还有一个OnSelectedIndexChanged函数,只要用户更改选择就会调用该函数.最后,用户需要提供此控件所需的信息,因此当用户到达页面时,我有一个默认选择 -
<asp:RadioButtonList ID="rblHighestDegree" runat="server" AutoPostBack="true"
onselectedindexchanged="rblHighestDegree_SelectedIndexChanged">
<asp:listitem Runat="server" Text="Master's Degree" Selected="True" />
<asp:listitem Runat="server" Text="Doctorate" />
</asp:RadioButtonList>
Run Code Online (Sandbox Code Playgroud)
在上面的代码示例中,当用户从默认选择(例如,"Master's Degree")切换到不同选项(例如,"Doctorate")时,则触发SelectedIndexChanged事件.然后,如果用户改变主意,然后选择原始默认选项,则再次触发SelectedIndexChanged事件.这完全符合预期和预期.
我有第二个控件,根据上面的选择启用或禁用代码隐藏...
<asp:ScriptManager ID="scriptmanager1" runat="server" />
<asp:UpdatePanel ID="updatepanel1" runat="server">
<ContentTemplate>
<asp:RadioButtonList ID="rdlYearsOfStudy" runat="server" Enabled="false">
<asp:listitem Runat="server" Text="Less than 3 years" />
<asp:listitem Runat="server" Text="3 - 4 years" />
<asp:listitem Runat="server" Text="5 - 6 years" />
</asp:RadioButtonList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="rblHighestDegree" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
只有在我将第二个控件放在ASP.Net AJAX UpdatePanel中才能启用异步回发(如上所示)之后,我才会遇到这个问题.一旦我这样做,原始的RadioButtonList控件将仅在我选择当用户到达页面时未默认选择的ListItem时回发.如果用户随后选择原始默认选择,则不会发生回发.
为了澄清,如果我回发而不将适用的第二个控件放在ASP.Net AJAX UpdatePanel中,那么无论用户选择哪个RadioButtonList ListItem,SelectedIndexChanged都可以工作.另一方面,在将控件放在UpdatePanel中以应用AsyncPostBackTrigger之后,回发仅针对非默认ListItem的选择.
可能相关的更多信息是我使用Microsoft Visual Studio …
updatepanel radiobuttonlist asp.net-ajax selectedindexchanged
我刚买了一台装有Windows 7 Pro作为操作系统的新台式电脑.我将Visual Studio 2008安装到这台新计算机上,并尝试打开以前存在的ASP.NET 3.5解决方案,该解决方案在我以前的计算机上显示得非常好(以前的计算机使用的是Windows XP操作系统,IIS6和IE7浏览器).但是,在Windows7/IE8中,我收到以下错误:
'/'应用程序中的服务器错误.
分析程序错误说明:解析为此请求提供服务所需的资源时发生错误.请查看以下特定的解析错误详细信息并相应地修改源文件.
分析器错误消息:文件'/MasterPages/MainMaster.master'不存在.
来源错误:
第1行:<%@ Page Language ="C#"AutoEventWireup ="true"CodeFile ="default.aspx.cs"Inherits ="_ Default"MasterPageFile ="〜/ MasterPages/MainMaster.master"%>第2行:
第3行: <%@ Register TagPrefix ="SBLContent"TagName ="SBLContentBlock"Src ="usercontrols/content.ascx"%>源文件:/SBLWebSite/default.aspx行:1
版本信息:Microsoft .NET Framework版本:2.0.50727.4952; ASP.NET版本:2.0.50727.4927
当我告诉你文件'/MasterPages/MainMaster.master'文件确实存在时,请相信我.
此外,该文件的位置在代码中正确引用(如上面第1行所示),正如我所说,浏览器在我以前的计算机中正确显示.注意我尝试导航到此站点中的其他页面也可能会有所帮助,此浏览器会为位于我的MasterPages文件夹中的任何和所有母版页显示相同的消息.
总之,由于某种原因,浏览器无法在MasterPages文件夹中看到任何页面.当文件夹和文件正是default.aspx所说的那样时,有人能告诉我为什么我收到此错误消息?
提前致谢!
能否在 Windows Server 2008 R2 上启用 TLS 1.3?如果是这样,怎么办?
提前致谢!