本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

常見問題

更新時間:2024-11-21 19:47

本文檔旨在協助開發人員快速接入和使用.NET SDK,重點解答使用過程中遇到的常見問題,確保開發人員能夠準確且高效地進行相關操作。

環境檢查

確保 .NET語言環境已經正確安裝,最低要求net framework >= 4.5 或 .Net Core >= 2.0。

問題列表

問題1:代碼測試過程中提示未能擷取正確的憑證(Access Key ID 和 Access Key Secret)。

此問題主要原因是未正確設定Access Key ID和Access Key Secret的環境變數,或在測試中將這些值誤設為“null”。

說明

System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")和System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),表示是從環境變數中擷取ALIBABA_CLOUD_ACCESS_KEY_ID及ALIBABA_CLOUD_ACCESS_KEY_SECRET的值。

  • 檢查您的環境變數中是否配置有ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。

  • 在終端(Linux/macOS)或單擊開始(或快速鍵:Win+R)>運行(輸入 cmd)>確定(或按 Enter 鍵),開啟命令提示字元(Windows),執行以下命令。若返回正確的AccessKey,則說明配置成功。如果返回為空白或錯誤,請嘗試重新設定,具體操作請參見設定訪問憑據

Linux/macOS
Windows
echo $ALIBABA_CLOUD_ACCESS_KEY_ID
echo $ALIBABA_CLOUD_ACCESS_KEY_SECRET
echo %ALIBABA_CLOUD_ACCESS_KEY_ID%
echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%

問題2:運行時,提示“TimeoutException...”

逾時問題可能由多種因素引起,以下是一些常見的原因及相應的解決步驟:

網路連接問題

情況描述:用戶端與伺服器之間的網路不通或網路不穩定導致請求無法到達目標伺服器。

解決方案:

  • 使用命令ping [www.example.com/192.168.x.x]curl -Is https://xxx.xxx.xx檢查網路連通性。當遇到網路不通時,應在防火牆或路由器中檢查是否有阻斷策略;對於網路不穩定的情況,建議更換網路環境。

  • 通過配置延長逾時時間, 具體操作請參見逾時配置。例如通過配置連線逾時參數來延長連線逾時時間,範例程式碼如下:

// 運行時參數設定,僅對使用了該運行時參數執行個體的請求有效
RuntimeOptions runtimeOptions = new RuntimeOptions();
runtimeOptions.ConnectTimeout = connectionTimeoutMillis;

API處理時間過長

情況描述:目標API處理請求的時間超過了設定的讀逾時時間。

解決方案:通過配置讀逾時時間來適應較長的API回應時間, 具體操作請參見逾時配置。例如通過配置讀逾時時間參數來延長當前請求的讀逾時時間,範例程式碼如下:

// 運行時參數設定,僅對使用了該運行時參數執行個體的請求有效
RuntimeOptions runtimeOptions = new RuntimeOptions();
runtimeOptions.ReadTimeout = readTimeoutMillis;

問題3:運行時,提示“Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'key')”

此問題的原因是,Credentials的歷史版本存在使用預設憑證鏈方式的缺陷。建議升級Aliyun.Credentials到1.3.4及以上。

dotnet add package Aliyun.Credentials

C#語言基礎異常自查表

報錯資訊

錯誤原因

解決方案

SocketException

發生與通訊端相關的錯誤,如連線逾時、串連被關閉等。

檢查網路連接的可用性(可通過curl指令驗證),並確保目標主機和連接埠號碼正確。

HttpRequestException

發生與 HTTP 要求相關的錯誤,如無法串連到伺服器、請求逾時等。

檢查網路連接和伺服器狀態,確保伺服器正常運行。可以使用 try-catch 塊來捕獲 HttpRequestException 並處理異常情況。

ProtocolViolationException

發生與網路通訊協定相關的錯誤,如無效的 HTTP 要求或響應。

檢查網路通訊協定的規範,確保請求和響應符合協議要求。可以使用條件陳述式或異常處理機制來處理協議違規異常。

TimeoutException

操作在指定的時間內未完成,達到了逾時時間。

增加操作的逾時時間,或最佳化操作的效能以確保在指定的時間內完成。可以使用條件陳述式或異常處理機制來處理逾時異常。

DNS resolution failure

無法解析網域名稱或無效的網域名稱。

檢查網域名稱的正確性,並確保 DNS 伺服器可用。可以使用條件陳述式或異常處理機制來處理 DNS 解析失敗。

支援人員

以上問題的解決方案旨在協助您更友好地使用阿里雲SDK。如果您在使用過程中遇到其他問題,請通過以下方式與我們聯絡:

  • 提交工單:阿里雲提交工單頁面

  • 如果您有相關需求或反饋,可以添加DingTalk群聯絡阿里雲技術支援人員,群號為60965016010。

  • 本頁導讀 (1, M)
  • 環境檢查
  • 問題列表
  • 問題1:代碼測試過程中提示未能擷取正確的憑證(Access Key ID 和 Access Key Secret)。
  • 問題2:運行時,提示“TimeoutException...”。
  • 問題3:運行時,提示“Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'key')”
  • C#語言基礎異常自查表
  • 支援人員
文檔反饋
phone 聯絡我們

立即和Alibaba Cloud在線服務人員進行交談,獲取您想了解的產品信息以及最新折扣。

alicare alicarealicarealicare