[研究]RestSharp v106 升級 v112
2024-12-23, 2025-01-24 更新
環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 19
********************************************************************************
RestSharp v106 升級 v107 時,碰很多釘子;v110 好像又改不少;實際測試 v106 直接 v112 好像比較容易了。
********************************************************************************+
error CS0117: 'Method' 未包含 'POST' 的定義
RestRequest 現在需要明確地將 HTTP 方法作為參數傳遞,而不是使用 Method.POST。
RestSharp 在 v110 版本後做了一些重大改變,RestRequest 構造函式不再直接接受 Method 作為參數,而需要使用其他方式來指定 HTTP 方法。
v106
var request = new RestRequest(Method.POST); |
v112 改為 (注意大小寫)
var request = new RestRequest(); request.Method = Method.Post; |
********************************************************************************
在 RestSharp v110 及更高版本中,IRestResponse 已被移除,改為使用 RestResponse 類型。
v106
IRestResponse response = client.Execute(request); |
v110改為
RestResponse response = client.Execute(request); |
********************************************************************************
v106
if (localIP.HasValue()) |
RestSharp.106.15.0 -> RestSharp.112.1.0 後編譯
error CS1061: 'string' 未包含 'HasValue' 的定義,也找不到可接受類型 'string' 第一個引數的可存取擴充方法 'HasValue' (是否遺漏 using 指示詞或組件參考?)
v110改為
if (!string.IsNullOrEmpty(localIP)) |
若不想逐一修改,另一種方法,擴充 string 有 HasValue() 方法
|
註:HasValue() 問題,在某方案這樣改後,編譯/重建 (Compile / Build) 可通過,但實際執行有問題,查到後面,問題不在 HasValue(),而是回傳的 RestResponse response 格式和之前可能有差異。
********************************************************************************
相關
沒有留言:
張貼留言