2018年7月17日 星期二

Aspx.net 呼叫Web API

原本的專案是在asp.net server端呼叫Web service 的Function來使用,
但因為本人想說跟風一下改成Web Api 來玩玩看好了,
所以就建立一個Wep Api 專案MyWebAPI 提供我呼叫


如上圖所示我建立了一個WebForm1.aspx的網頁
為了方便,接下來在Page_Load的部份呼叫我們建立的Web api 
將來大家可以寫一個function來呼叫



1.宣告HttpClient
2.設定web api 的Uri
3.用HttpResponseMessage 來接收Class control回傳的值
4.宣告一個IEnumerable<ClassModel> 來存抓回來的資料
   ClassModel 是MyWebAPI 裡的一個Class

接下來實際執行看看

哇! 居然GG了!
第一時間我還真不知道這是錯在哪裡@#$%^&
這時當然要找Google大神出來幫忙了

參考 https://stackoverflow.com/questions/36090334/httpcontentextensions-readasasync-error


解法:
在Webconfig裡
加上

 <dependentAssembly>
    <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
    </dependentAssembly>


再次執行看看


搞定囉!

沒有留言:

張貼留言

簽署時發生錯誤: 無法簽署 bin\Debug\app.publish\XXX.exe。SignTool Error: No certificates were found that met all the given criteria.

 這是一個程式碼簽署憑證的問題。當您的專案設定要進行程式碼簽署,但系統找不到合適的憑證時就會出現這個錯誤。以下是幾種解決方法: 方法 1:移除程式碼簽署設定 如果您不需要程式碼簽署,可以在專案中移除相關設定: 在 Visual Studio 中右鍵點擊專案 → 屬性 點擊「...