C# WSDL 簡易測試 (使用 NET 5)
前言近期執行專案時候,常常遇到對方使用的是 WSDL。當時剛入行軟體工程師非常震驚這是甚麼東西,WSDL 如何傳遞、如何使用,直到後期有發現不錯用的工具SoapUI 主要給 WSDL這個使用。接下來會直接讓各位參考如何執行簡易版的WSDL。
最近有製作簡易版本的response 工具,可以提供參考。
使用工具、指令
VSC : 點擊我
使用 Command : dotnet new console -f net5.0
Github 參考 : 點擊我
Web服務描述語言,Web Services Description Language基於 XML 用於 描述 、通訊(訪問) Web Services 的語言。常見相關名稱
Web Services
SOAP (Simple Object Access Protocol)
UDDI (Universal Description, Discovery, and Integration)
使用方式這邊只會使用 請求、回覆。若要看WSDL製作本篇不展示。
連線方式筆者案例是使用xml部分,需要使用 text/xml 才能啟動功能 ...
StartFMS.Extensions.Configuration 使用方式
安裝方式.NET Cli
1dotnet add package StartFMS.Extensions.Configuration --version 1.0.0
Package Manager
1NuGet\Install-Package StartFMS.Extensions.Configuration -Version 1.0.0
使用目的利用擴充方式減少呼叫的動作以及方便呼叫 Azure 設定、管理使用者密碼(secrets.json)等檔案。
使用方式
使用 Config 呼叫
GetConfiguration() 可抓取 appsetting、secrets
Azure Confidential 參數使用 GetAzureConfiguration()
範例透過 Program.cs 傳入參數
123var config = Config.GetConfiguration(); //加入設定檔var ChannelToken = config.GetValue<string>("Line:Bots:channelToken"); ...
StartFMS.Extensions.Data 使用方式
安裝方式.NET Cli
1dotnet add package StartFMS.Extensions.Data --version 1.0.5
Package Manager
1NuGet\Install-Package StartFMS.Extensions.Data -Version 1.0.5
字串轉換提供 int 、Double、float、datetime等轉換資料型態,範例如下
12int Number = "100800".ToInt();DateTime dt = "2023/3/10".ToDateTime();
千分位、小數點字串12345//千分位轉換string thousandths = "10000".ToThousandths();// 小數點string places = "10000".ToDecimalPlaces(6);
自動累加數字12string num = "0000".ToAutoNumber();string num1 = &q ...
StartFMS.Extensions.Line 使用方式
起因開發過程中,使用 LineBotSDK 相當不順手以及建立方式,後面我另外把LineBotSDK 另外用 NET Core 版本擴充,方便後續引用、覆寫。請參考使用方式。
所需套件
StartFMS.Extensions.Line
LineBotSDK
備註: 初版暫時使用兩種套件合併使用,後續看看有沒有空去修正現行狀況。
使用方式本範例 .NET6.0 展示,若有其他使用操作問題,可以在下方留言。
一、新創一個類別創建一個新的 Class 改寫LineBots 內容,後續會比較好使用。
123456789101112131415// Helper/LineBot.csusing StartFMS.Extensions.Line;namespace StartFMS.Partner.API.Helper{ public class LineBot:LineBots { public override void MessageText() { var @event = ReceivedMes ...
StartFMS.Extensions.Line V1.0.2版本使用方式
安裝.NET CLI
1dotnet add package StartFMS.Extensions.Line --version 1.0.2
Package Manager
1NuGet\Install-Package StartFMS.Extensions.Line -Version 1.0.2
使用方式
DI 確認專案需求調整
需要透過 新創類別修改,並繼承 StartFMS.Extensions.Line.LineBots 對象
a.基本做法
新增類別
12345678910111213141516// Helper/LineBot.csusing StartFMS.Extensions.Line;namespace StartFMS.Partner.API.Helper{ public class LineBot:LineBots { public override void MessageText() { var @event = LineReceived.events.Fir ...
Github - 使用 Github Deploy keys
Deploy keys透過設定 Deploy keys 可以避免掉每次 push 都要輸入帳密的流程
創建 SSH打開 [命令字元] 輸入以下內容即可。如果沒特別指定路徑預設(C:\Users\使用者名稱/.ssh/id_rsa),沒有特定指定密碼可以直接按下Enter。
1ssh-keygen
下方為ssh-keygen參數,請參閱。
創建 Deploy keys打開需要使用Deloy Keys 的 repository,按下Security > Deploy keys。若需要使用Write access權限可以直接勾選 。
輸入 KeysKey輸入框請用id_rsa.pub記事本打開,直接貼上去。
完成後,就會出現這個。
跳出帳號密碼如果經過上面設定 push 過程中,須要輸入帳號密碼可以嘗試更改本地 remote 的來源
1git remote set-url origin git@github.com:[yourgithubID]/[yourRepo].git
Github - 使用 Github Token
Personal access tokens可以不用使用SSH即可使用的一種,建立完成後會產生出Token,可用來製作API、自動部屬等、協助創作等。
官方網文件
創建 Personal access tokens點選設定後,左側最底下 Developer settings選擇 Personal access tokens即可。設定上需要注意看裡面內容進行設定。
設定內容有包含到組織相關的存取,可以透過這種方式取的組織權限。
然後就可以使用Token取得 GitHub repository。這邊必須要注意 Create 出來的Token 只會出現一次,如果不小心沒存檔無法再取得一次。
Github - 解決 PR merge 衝突問題
Github merge 遇到衝突的問題已經是常有的事情,既然要 merge 需要將新舊的資料比對、修改。Github 有提供網頁版本可以直接將衝突檔案修改後再merge。
建立 Pull Request這邊簡單敘述一下 Pull Request。當Create PR 時候,如果有衝突資訊會出現 “Can’t autoatiocally merge” 資訊,其實可以直接創建PR給作者去比對。
這邊可以把這些動作當成創建留言區塊,作者會透過 pull requests 分頁內審閱檢查內容。
修改衝突內容當作者發現對方有發出訊息時候,可以透過 Resolve conflicts 排除衝突問題。
修正注意事項Github 這塊需要留意以下幾點
修改完畢後點選 “Mark as resolved”
必須要將左側衝突檔案全部修改完成
以上修改完成後,就可以正常merge 內容。
參考文件
Resolving a merge conflict on GitHub
C# 如何使用 Entity Framework 更新空白資料庫
前言交接前夕曾經丟了 EF 環境忘記把注意事項列給他們,包含自己不時會忘記這個使用方式。DBContext其實可以本身就可以讓空白DB創建出來,主要問題是如何使用無 .sql 之類檔案來建置、開啟環境。
Code First顧名思義是由 Code 決定有甚麼資料、對應寫回DB。如果假設一開始使用 DB First 也沒關係,兩者是不影響本章節。
前置作業建立類別(資料模型)DB First 會自動創建 類別,所以無需加入類別檔案。若是 Code First 可以參考 【ATai】大大如何使用。
123456789public class Post{ public int Id { get; set; } public int UserId { get; set; } public string Title { get; set; } public string Content { get; set; } public int Read { get; set; ...
C# C# Youtube (三) - 製作簡易API
前言前面使用授權部分完成後,就可以開始 API 抓取動作。Oauth2 最難部分已經完成剩下如何使用 Youtube API,API 可以透過 Youtube Data API測試結果在執行 Code部分。
備註 : 這篇主要目的做做看,之後依據情況製作下一章介紹。
Search 搜尋
API : https://youtube.googleapis.com/youtube/v3/search備註 : method 是 Request parameters 使用下方範例需要把他串成string 才能成功執行。123456789101112131415161718192021222324252627282930313233343536[Authorize][HttpGet("search")]public async Task<string> SearchAsync(){ var users = User.Claims.Select(x => new { type = x.Type, value = x.Value ...