顯示具有 Web Service 標籤的文章。 顯示所有文章
顯示具有 Web Service 標籤的文章。 顯示所有文章

2023年2月20日 星期一

[gRPC] Google RPC 與 .NET Core專案,搭配JSON

 gRPC 就是 Google的 RPC(遠端程序呼叫)

搭配 .NET Core專案,可以分成 Server端(服務 Service)與 Client端(用戶端)

直接使用 Windows作業系統上的「完整版」Visual Studio操作會比較簡單

如果使用開源版、精簡版的 VS Code那就辛苦了,需要下指令才行…….


 影片網址 https://youtu.be/RjlCYX3QY8Q


如果您以前有學過 Web Service / WCF / WebAPI的話,應該很快就能接受 gRPC

我提供的簡報(說明)  https://www.slideshare.net/mis2000lab/soarest-web-servicewcfwebapi  

如果沒有學過,請快點來報名(線上課程)底下網址內含優惠折扣

 

重點 在於他的 ProtoBuf檔(附檔名 .proto)

您在這裡宣告了 (1) gRPC服務的定義、公開的方法  

               (2) Server與 Client之間 傳遞(Request / 要求)與回傳(Response( gRPC預設名為Reply) / 回應)

Visual Studio在建置專案時,可以幫您自動產生對應的 Service檔案(.cs檔)

 

不然的話,您就得自己去 Google的 gRPC官方網站,自己下載工具去產生對應的東西

////    (2-1)下載檔案  https://protobuf.dev/downloads/ ,透過 protoc.exe編譯 .proto檔 與 產生相關的檔案
////    (2-2) 把檔案解壓縮,放到您專案的 /Protos 目錄底下
////          1.  裡面有google內建、提供的 /include/google目錄
////          2.  但是!!我們自己額外下載的 google/api/*.proto檔案,也需要放到這個目錄下   才能完成編譯!!
////    (2-3) 執行以下指令。幫您產生相關的 .cs檔。    
////             指令最後面的檔名,請自己修改。   (. 表示現在的位置、現在的目錄。)
////             protoc -I=. --csharp_out=.  greet2JSON.proto
////     C#工具會從 .proto 檔案產生程式碼。 針對伺服器端資產,會為每個服務產生 "抽象基底" 類型,以及任何訊息的類別。       
 

** 學習管道 與 文章 **

微軟的官方網站,當然有很詳細的描述  https://learn.microsoft.com/zh-tw/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-7.0&tabs=visual-studio 

我推薦這篇文章(入門很好用https://www.tpisoftware.com/tpu/articleDetails/2345  

      雖然 .NET Core 6.0才是長期支援版(LTS),

      但有些相關的 NuGet套件必須搭配 .NET 7.0(並非 長期支援版)才能運作,所以我還是建議用新版本 .NET core吧 

 

但,您想學習 gRPC搭配JSON的時候,微軟的說明又少了一點。 https://learn.microsoft.com/zh-tw/aspnet/core/grpc/json-transcoding?view=aspnetcore-7.0

      必須安裝Nuget套件   Microsoft.AspNetCore.Grpc.JsonTranscoding 才能使用

      還需要自己動手,去 google下載兩個 .proto檔放在自己專案裡面,才能運作。

我推薦這篇文章(入門很好用https://www.cnblogs.com/chenyishi/p/16874863.html 

 

很多步驟可能因為版本或是時間的推進,出現變化

所以實際的操作總是漏東漏西、這裡壞掉、那裡卡住……讓我學習的很辛苦。

 

為什麼要用 gRPC呢?

其實也很簡單,因為客戶要求,我也得照做……

 

客戶要求這麼做,就是最大的原動力了!沒有我說三道四的餘地   :-) 

 我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

線上課程教學,遠距教學 (Web Form 約 51hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

線上課程教學,遠距教學 (ASP.NET MVC 約 115hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab

寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.台灣  或  school (at) mis2000lab.net

 (1) 第一天 ASP.NET MVC 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A 

 (2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I 

[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm  。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b  


ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。 

.........   facebook社團   https://www.facebook.com/mis2000lab   ......................

.........  YouTube (ASP.NET) 線上教學影片  https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/

 

2019年3月19日 星期二

ASP.NET - WebAPI / WCF / Web Service線上教學(7.5小時)



建議您先看完這篇文章:

不寫畫面的網頁程式設計,Web API、Web Service、WCF Service


 

課程介紹

沒有 UI 畫面的網頁程式,讓程式可以被其他應用程式上網呼叫。
本課程適合「後端」網頁程式設計師學習,學員只要專心撰寫後端程式,完全不需擔心前端畫面(UI)的呈現,讓「後端」與「前端」兩者可以安心各司其職。
前端的工程師則可以透過 JavaScript 或 jQuery 來存取所寫的網頁服務。各種先進的程式,只要能上網都能透過 HTTP 也都支援這些網頁服務。

[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm

https://www.dotblogs.com.tw/mis2000lab/2023/01/30/mis2000lab_MVC_onlineLearning2023

[ASP.NET Core MVC]第一天 免費課程 3小時完整試聽

https://www.dotblogs.com.tw/mis2000lab/2023/01/30/AspNetCore_MVC_First_Day_Free_20230130

從最早的 75小時MVC課程,目前已經延伸到 115小時,也包含了 .NET Core

.NET Core 6 MVC線上教學 - MIS2000Lab 課程大綱 與 試聽

https://dotblogs.com.tw/mis2000lab/2021/07/18/NET_MVC_Online_Free_Learning_mis2000lab 

購買完整MVC課程(一百小時),限時六折優惠並免費加贈兩萬元「.NET Core升級課程」,請直接來信洽詢

(太便宜!太划算,不能公開) mis2000lab (at) yahoo.com.tw ; school (at) mis2000lab.net


同時學習後端程式

本課程的範例均提供 ASP.NET 兩種後端程式(Web Form 與 MVC)來搭配說明,讓您在學習「網頁服務」的同時,也可以順便學習 ASP.NET 兩種後端程式。
----------------------------------------------------------------------------------------------------------

學員上課後會學到什麼或能做什麼

  • 知道基礎的Web程式設計能力,如 if 判別式、for / while 迴圈即可。
  • 知道資料庫(DataBase)與簡單的 T-SQL 指令,如:CRUD。
  • Visual Studio 2015、2017 或後續新版,請下載社群版(Community 版)。
  • 建議使用 Windows 作業系統。因為 Visual Studio Code 與 Visual Studio for Mac 與教學畫面仍有許多差異。
  • SQL Server Express 版(免費)。建議使用 SQL Server 2012(Express版)或後續新版。

學員上課前需具備哪些軟、硬體設備或常識

  • 知道基礎的Web程式設計能力,如 if 判別式、for / while 迴圈即可。
  • 知道資料庫(DataBase)與簡單的 T-SQL 指令,如:CRUD。
  • Visual Studio 2015、2017 或後續新版,請下載社群版(Community版)。
  • 建議使用 Windows 作業系統。因為 Visual Studio Code 與 Visual Studio for Mac 與教學畫面仍有許多差異。
  • SQL Server Express 版(免費)。建議使用 SQL Server 2012(Express版)或後續新版。

課程適合對象

  • 需要撰寫網頁系統、或對於網頁與資料庫的開發有興趣的朋友。
  • 未來的(網頁後端)程式設計師 -- 希望將來進入業界寫程式,開發網頁(後端)。
  • 曾寫過 ASP、ASP.NET(Web Form)、PHP、JSP 的朋友,現在想學習 ASP.NET MVC 5。
----------------------------------------------------------------------------------------------------------
課程購買與試聽   https://9vs1.com/go/?i=83d6700ef666
課程購買與試聽   https://9vs1.com/go/?i=83d6700ef666

課程內容

Web Service
ASP-NET-webservice-MIS2000Lab
Web Service 透過 SOAP 與 XML 交換資料,現在也能透過 JSON 格式傳遞數據。

WCF(Windows Communication Fundation)
ASP-NET-webservice-MIS2000Lab
微軟公司推出,專門用於網頁通訊的服務,現在也是 W3C 國際標準。WCF 服務的介面(interface)與服務契約、操作契約...這些惱人的術語,在輕鬆簡單的實作中親自接觸,只要動手做就能立即學會。

WebAPI
ASP-NET-webservice-MIS2000Lab
現在熱門的技術,有在學習 ASP.NET MVC 者千萬不能錯過。

JSON (提供試聽)影片網址
    https://www.youtube.com/watch?v=8-1Fu9gWpfY
    https://youtu.be/8-1Fu9gWpfY
ASP-NET-webservice-MIS2000Lab
本章節將教您 JSON 的由來與應用,以及如何組成 JSON 文件或是讀取它。

範例
最後的「前端」範例並提供了 jQuery & JavaScript 的範例,學員可以立即存取這些「後端」的網頁服務,並且直接修改即能使用。

課程特色

  • 以實作優先:減少理論說明,大量練習範例,講求從做中學。
  • 錯誤學習法:透過錯誤的範例從中學習,並找出自己的盲點。

課程購買與試聽   https://9vs1.com/go/?i=83d6700ef666
課程購買與試聽   https://9vs1.com/go/?i=83d6700ef666

學員見證

ASP NET MVC basic MIS2000Lab

課程綱要

  • 入門與解說
  • 沒有 UI 畫面的「網頁」程式?以「檔案上傳後,二進位內容存入資料表」為例
  • (1) Web Form的 ASHX 泛型處理常式
  • (2) MVC專案的 GetImage 動作
  • 沒有UI畫面的程式?例如:DLL 檔、類別檔。
  • 為什麼不採用 DLL 檔、類別檔
  • Web Service(MVC版)
  • Web Service (MVC 版,Server 端)
  • 執行與檢視 Web Service
  • Web Service (MVC 版,Client 端呼叫)
  • 簡單的 MVC 入門與程式撰寫
  • Client 端,加入服務參考
  • Client 端,MVC 的控制器與動作
  • Client 端,產生檢視畫面
  • Case Study:第二個 Web Service 範例 (MVC 版,Server 端)
  • 第二個 Web Service 範例 (MVC 版,Client 端)
  • Client 端,MVC,加入 ViewModel
  • 檢視畫面(View)
  • 第二個同名的動作(新增後的資料處理)
  • 執行成果
  • 最後的重點複習
  • 加入服務參考,其實寫在 Web.Config 檔裡面
  • Web Service(Web Form 版)
  • 開啟兩套 Visual Studio,分別模擬 Server 端與 Client 端
  • Web Service 範例 (Server 端)
  • 執行成果 (Server 端)
  • Client 端。如何呼叫人家寫好的 Web Service
  • 加入服務參考 (Client 端)
  • Web Form (Client 端)呼叫人家寫好的 Web Service
  • (Client端) Web.Config 檔
  • Case Study:第二個 Web Service 範例 (Web Form 版,Server 端)
  • 第二個 Web Service範例 (Web Form 版,Client 端)
  • WCF Service(MVC 版)
  • WCF 簡介
  • 撰寫第一個WCF服務 (Server 端)
  • WCF服務的介面(interface)與服務契約、操作契約
  • WCF的類別,實作上一個介面
  • 錯誤示範:未實作介面成員
  • WebAPI(Server 端)
  • 又遇見 Post 與 Get
  • 為什麼要先學 jQuery 呢?
  • Client 端,透過 jQuery 呼叫網頁服務
  • 錯誤範例(MVC 版)Client 端呼叫網頁服務
  • JSON,資料傳遞的簡易格式
  • WebAPI(後端)與 jQuery(前端)整合範例
  • 範例一:微軟官方網站的入門範例。有兩種不同的寫法。範例一(Client 端)。
  • 範例二:連結資料庫的範例。範例二(Client 端)。
  • 範例三:改用 MVC 的控制器來做,更簡單(不使用 WebAPI)
課程購買與試聽   https://9vs1.com/go/?i=83d6700ef666
課程購買與試聽   https://9vs1.com/go/?i=83d6700ef666


2018年11月13日 星期二

[Youtube] JSON - 20分鐘 快速入門

Youtube教學影片 - JSON, 20分鐘 快速入門

這是 Web Service、WCF、WebAPI課程中的一小段。
JSON與jQuery都是我們使用網頁服務時 "必備"的知識......



這是 Web Service、WCF、WebAPI課程中的一小段(全長超過 6.5小時)。

JSON與jQuery都是我們使用網頁服務時 "必備"的知識,透過影片來分享、學習,絕對比自己慢慢看書更有效率。


影片網址

    https://www.youtube.com/watch?v=8-1Fu9gWpfY

    https://youtu.be/8-1Fu9gWpfY



課程購買與試聽   https://9vs1.com/go/?i=83d6700ef666
課程購買與試聽   https://9vs1.com/go/?i=83d6700ef666

[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm

https://www.dotblogs.com.tw/mis2000lab/2023/01/30/mis2000lab_MVC_onlineLearning2023

[ASP.NET Core MVC]第一天 免費課程 3小時完整試聽

https://www.dotblogs.com.tw/mis2000lab/2023/01/30/AspNetCore_MVC_First_Day_Free_20230130

從最早的 75小時MVC課程,目前已經延伸到 115小時,也包含了 .NET Core

.NET Core 6 MVC線上教學 - MIS2000Lab 課程大綱 與 試聽

https://dotblogs.com.tw/mis2000lab/2021/07/18/NET_MVC_Online_Free_Learning_mis2000lab 

購買完整MVC課程(一百小時),限時六折優惠並免費加贈兩萬元「.NET Core升級課程」,請直接來信洽詢

(太便宜!太划算,不能公開) mis2000lab (at) yahoo.com.tw ; school (at) mis2000lab.net


課程大綱

=== 入門與解說 ===
00:01:35  沒有UI畫面的「網頁」程式? 以「檔案上傳後,二進位內容存入資料表」為例
00:03:34  (1) Web Form的 ASHX 泛型處理常式
00:07:13  (2) MVC專案的 GetImage動作

00:12:06  沒有UI畫面的程式?例如:DLL檔、類別檔。
00:16:58  為什麼不採用 DLL檔、類別檔


=================================
00:26:02  === Web Service ===(MVC版)
00:27:29  Web Service (MVC版,Server端)
00:33:08  執行與檢視Web Service

00:37:30  Web Service (MVC版,Client端呼叫)
簡單的MVC入門與程式撰寫
00:41:32  Client端,加入服務參考
00:46:26  Client端,MVC的控制器與動作
00:58:53  Client端,產生檢視畫面

01:02:17  Case Study -- 第二個 Web Service範例 (MVC版,Server端)
01:05:10  第二個 Web Service範例 (MVC版,Client端)
01:06:39  Client端,MVC,加入ViewModel
01:12:42  檢視畫面(View)
01:13:37  第二個同名的動作(新增後的資料處理)
01:23:44  執行成果
01:26:29  最後的重點複習
01:28:43  加入服務參考,其實寫在Web.Config檔裡面


=================================
01:30:09  === Web Service ===(Web Form版)
01:31:18  開啟兩套Visual Studio,分別模擬Server端與Client端
01:32:47  Web Service範例 (Server端)
01:36:50  執行成果 (Server端)
01:40:28  Client端。如何呼叫人家寫好的Web Service
01:41:22  加入服務參考 (Client端)
01:44:21  Web Form (Client端)呼叫人家寫好的Web Service
01:51:39  (Client端) Web.Config檔

01:52:55  Case Study -- 第二個 Web Service範例 (Web Form版,Server端)
01:57:07  第二個 Web Service範例 (Web Form版,Client端)


=================================
=== WCF Service ===(MVC版)
02:06:22  WCF 簡介
02:13:15  撰寫第一個WCF服務 (Server端)
02:16:20  WCF服務的介面(interface)與服務契約、操作契約
02:17:24  WCF的類別,實作上一個介面
02:19:15  錯誤示範:未實作介面成員


簡單的MVC入門與程式撰寫


=================================
=== WCF Service ===(Web Form版)
02:38:57  建議打開兩套Visual Studio,各自模擬 Server與Client



=================================
02:58:58  === WebAPI ===(Server端)
      又遇見Post與Get


=================================
03:42:27  === 為什麼要先學 jQuery呢? ===
      先看看別人的產品,瞭解 jQuery (Client端)與網頁服務 (Server端)的互動。

=================================
04:10:46  === Client端,透過 jQuery呼叫網頁服務 ===
      透過 jQuery連結遠端、別人的網頁服務(Web Service與WCF)

=================================
05:13:57  === 錯誤範例(MVC版)Client端呼叫網頁服務 ===
      Web Form不會出現的錯誤,卻在MVC裡面現形。注意 ViewModel的細節。


=================================
05:34:07  === JSON,資料傳遞的簡易格式 ===
      從XML到JSON,改善了什麼?
      解析JSON並獲取裡面的資料。

=================================

=== WebAPI與 jQuery整合範例 ===


課程購買與試聽   https://9vs1.com/go/?i=83d6700ef666

課程購買與試聽   https://9vs1.com/go/?i=83d6700ef666

我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
寫信給我--  mis2000lab (at) yahoo.com.台灣  或是  school (at) mis2000lab.net
................   facebook社團   https://www.facebook.com/mis2000lab   ......................
................   Google+   https://plus.google.com/100202398389206570368/posts ........
................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ
*********************************************************************************************
************************************************************(歡迎索取,免費申請)*****


2017年9月18日 星期一

[轉貼] ASP.NET -- Web Service (.asmx) & JSON

ASP.NET Web Service (.asmx) 要傳回 JSON格式
大力推薦這一篇 Web Service in ASP.NET (Return JSON and XML)
文章裡面使用了 JavaScriptSerializer類別 (命名空間: System.Web.Script.Serialization)

以前沒做過,但臨時被要求 ASP.NET Web Service 要傳回 JSON格式
找到網路上兩篇好文章,為自己做筆記。

如果您寫過 Web Service的話
直接看程式碼就會做了,淺顯易懂。只有很細微的修改:

點選圖片可連回原文出處....

文章裡面使用了 JavaScriptSerializer類別 (命名空間:  System.Web.Script.Serialization)


如果您的(Client端)要用 jQuery來接收
     對方(Server端)的 Web Service ( 傳回 JSON格式)

另外也有幾篇好文章,也推薦給大家:
(這一篇是用 ASP.NET 2.0做的,但跟上面介紹的方法雷同。)

 
 
******************************************************************************************
如果語法轉換有問題,可以參閱
******************************************************************************************

本網站以前的相關文章:
      有些朋友在開啟網站或專案時,選用 .NET 4.5.x (VS 2013) or .NET 4.6 (VS 2015)
      加入新項目時,找不到 Web Service (.asmx) ?????

      您可以改為「開啟」 .NET 4.0 or 4.5 (VS 2012)的網站或專案,就能在其中加入「Web Service (.asmx)」
      ASP.NET的 Web Service or WCF Service只是一個沒有「畫面」的 ASP.NET網頁...... 不要把它想得太難啦  :-)

Web Service入門 #2,呼叫現成的Web Service 給我的程式來用



[入門範例] ASP.NET Web Service (asmx) 與 jQuery AJAX

[轉貼]jQuery與JSON的資料傳遞(網頁前段與後端的資料傳遞 - 序列化 Serialization) from kyleshen


分享,讓知識更加偉大
謝謝每一位樂於分享的前輩  :-)



 
 
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
寫信給我--  mis2000lab (at) yahoo.com.台灣  或是  school (at) mis2000lab.net
................   facebook社團   https://www.facebook.com/mis2000lab   ......................
................   Google+   https://plus.google.com/100202398389206570368/posts ........
................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ
請看我們的「售後服務」範圍(嚴格認定)