取消激活我們的Web服務器上的TLS 1.0以使用TLS 1.2。之後,該網站在交易時確實存在問題。我試着像停用後的問題IIS 6上的TLS 1.0(Windows Server 2008r2)
- 安裝不同的東西所有懸而未決的Windows更新
- 升級IIS 6〜7版
- 重新編譯整個項目爲4.5和重新導入它在IIS
- 停用.NET 3特點在IIS
- 更新所有項目的目標框架,以4.5
- 控制的應用程序池,並將其設置爲V4.0(它應該使用4.5)
首先它看起來像是應用程序的問題。但後來我在VS的調試模式下嘗試項目,一切工作?與回退到SSL3而不是使用TLS 1.1或TLS 1.2的服務器相比。 (好像有缺少一些功能和通過的Technet命名的註冊表項是不夠的。)
我想問題也能像
(HttpApplication.cs)
-
使用某些類的
- 的System.Web
- System.Web.Security
由於缺乏經驗,我得出的結論要問你這個問題。你有沒有更多的想法?
剛剛想到的其他一些東西:VS中有一個項目使用.NET 4.0。我改變了目標框架,然後項目確實遇到了一些問題,以找到一些命名空間。 (目前所有項目都有相同的目標框架(.Net))。命名空間確實存在,但VS無法找到它。所以我重建,清理解決方案,但它沒有幫助。然後我關閉VS並重新打開它。突然間這個項目奏效了。該屬性中的框架爲4.0。 (也許這也可能是一個問題?)
由於我受到時間的壓力,我很感激任何幫助。
編輯:有沒有簡單的方法來測試(TLS測試)和顯示使用的.Net版本?
EDIT2:找到了一個解決方案,用nuget包測試出框架。 http://haacked.com/archive/2010/12/05/asp-net-mvc-diagnostics-using-nuget.aspx/ (稍後會嘗試)
我還設法通過遠程調試逐步完成斷點,並找到發生故障的位置。有一個文件「References.cs」這個頭:
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.18034
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
// This source code was auto-generated by Microsoft.VSDesigner, Version 4.0.30319.18034.
//
#pragma warning disable 1591
其中該代碼創建的問題:
/// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("", RequestNamespace="http://....", ResponseNamespace="http://....", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
[return: System.Xml.Serialization.XmlElementAttribute("out", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public PaymentResult SelectPayment([System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] uint merchantID, [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string mdxi, [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string getDataURL, [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] string tid) {
object[] results = this.Invoke("SelectPayment", new object[] {
merchantID,
mdxi,
getDataURL,
tid});
return ((PaymentResult)(results[0]));
}
對象「結果」從來沒有得到的值。我按下F1,看看有什麼調用正在做與本網站打開:https://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k(System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke);k(SolutionItemsProject);k(TargetFrameworkMoniker-.NETFramework,Version%3Dv4.5);k(DevLang-csharp)&rd=true
EDIT3:這似乎是調用是參考
System.Web.Services
但在該項目的版本是
運行時版本:v4.0.30319 版本:4.0.0.0
我覺得這是問題,因爲它應該是4.5 ...
System.Net.WebException:基礎連接已關閉:在發生意外的錯誤發送。 ---> System.IO.IOException:由於遠程方關閉了傳輸流,認證失敗。
你的問題根本不清楚。你面臨的問題是什麼?請詳細說明,如有異常(堆棧跟蹤)等 –