0
我有一個web api的方法來返回字符串值。我在Web應用程序中使用此Web api控制器。我嘗試使用下面的代碼來調用API的方法:從asp.net應用程序作爲客戶端調用webapi
Stream data = client.OpenRead(new Uri("http://localhost:40786/api/Getvalues/getstring"));
StreamReader reader = new StreamReader(data);
string s = reader.ReadToEnd();
Console.WriteLine(s);
data.Close();
reader.Close();
我呼籲一個網頁的點擊事件這種方法說的Default.aspx。代碼運行良好,但不是調用web-api並返回它的值,而是返回頁面的HTML標記,在該頁面上有按鈕。不知道發生了什麼。任何人都可以建議我在這裏失蹤?
什麼字符串值的http://本地主機:40786/API /的GetValues /的GetString應該返回? – Jerreck
@ Tech-jay你正試圖讀取流,所以,你得到你想要的。如果你需要結果並在另一個地方存儲/顯示。只是試圖爲我的工作:'''client.DownloadString(「http:// localhost:40786/api.Getvalues.getstring」);''' –
大家好,thnx for reply.I分析了這個問題,讓我加還有更多。我試圖在web-api中實現表單身份驗證。所以我使用用戶名/密碼選項登錄表單。用戶登錄並單擊該按鈕以調用web-api。用戶通過身份驗證,但返回的字符串仍然是登錄頁面的html標記。另一方面,當我通過直接在瀏覽器中設置url來調用web-api時,它允許調用,因爲用戶已成爲認證。登出時,瀏覽器不允許通話。所以基於瀏覽器的調用正在工作,但不知道如何實現這一點。 –