iT邦幫忙

0

c# web api無法架設

想請問各位高手
小弟目前在寫web api 目前還是新手,所以只有簡單抓取MSSQL的資料回傳
在自己本機測試都已經成功,現階段不知道要怎麼發布出來使用(例如給app抓資料)
用iis架站也無法成功,已經照著微軟的方式發布也不行,頂多只能讓區網的電腦瀏覽api程式專案的資料夾目錄(無法執行api)
想請問如何讓我寫的api可以讓別台機器也可以呼叫

大大可能誤會我的意思了,我的意思是要如何把自己撰寫的api發佈成可以用的api,例如台北市動物園公開的動物資料api,讓我們直接輸入網址就可以讀取api json的資料

透過IP找資料這部分我都理解,但目前無法解決的問題就是,不知道怎麼封裝我的api,讓他變成別人可以瀏覽的api

首先先謝謝幾位大大的回答!!

目前小弟的方式如下,在本機中網址輸入 localhost:預設port號/api/gatvalue
是抓取得到json資料的
之後透過visual studio的發行,把專案發行到file system
再來透過IIS架站,架站目錄是發行的資料夾
這步驟做完,即使透過自己本機電腦也無法看到發行過的api內容
搞了好幾天還是都不行,防火牆、iis設定那些都研究好久了還是沒有進展
最後的目標只是要把資料庫的資料讓手機app讀取而已,目前連api架設就卡住了,後續根本無法接續,拜託各位幫幫忙了!

froce iT邦大師 5 級 ‧ 2019-02-24 07:06:52 檢舉
區網可以通剩下就要找你們網管了,防火牆埠號、域名那些你要有辦法設定。
不過更重要的是資安。
0
暐翰
iT邦大師 1 級 ‧ 2019-02-24 14:59:26
最佳解答

大大可能誤會我的意思了,我的意思是要如何把自己撰寫的api發佈成可以用的api,例如台北市動物園公開的動物資料api,讓我們直接輸入網址就可以讀取api json的資料

最簡單方式使用公開固定IP (注意:這只適合測試,正式環境會綁網址)
可以使用IP+你的api程式路徑讀取資料,另外台北市動物園公開其實輸入網址背後也是藉由IP找到Server並讀取資料

舉例:

  1. 查詢自己的公開IP是 : xx.xxx.xxx.xxx
  2. API路徑 : \API\GetValue
  3. 開放防火牆外部網路讀取權限

外部使用者就可以使用 xx.xxx.xxx.xxx\API\GetValue 讀取你的資料了


最後如何綁網址、架設伺服器跟是否使用雲端功能又是另外問題了

小魚 iT邦高手 1 級 ‧ 2019-02-24 19:29:14 檢舉

我有個問題,
好像聽說可以用NO IP之類的,
我是沒試過,
不過要固定IP不是應該要申請才會有嗎?
那NoIp是怎麼做的嗎?

暐翰 iT邦大師 1 級 ‧ 2019-02-25 00:20:43 檢舉

noip應該也屬於動態IP一種

noip是要在你的機器先下載一個noip用的應用程式。
這支程式會幫你線上更新你的ip。

也就是說,當你的浮動ip變更到另一組的情況下。就會立即的更換線上的設定ip。

這樣來達到你的域名連動浮動ip的特性。

0
小魚
iT邦高手 1 級 ‧ 2019-02-24 14:16:11

既然區網可以用,
表示你在本機的工作已經完成了,
剩下的就是網路的問題了,
譬如你要讓外部可以連需要有固定IP,
要讓其他網段可以連需要在兩個網站連接的電腦做設定,
在我之前的公司這屬於MIS在做的事,
你如果有興趣要對網路架構多下工夫了.

1
j2eer
iT邦新手 5 級 ‧ 2019-02-24 19:34:02

asp.net web api 專案、程式,要設定 CORS,才能讓別台主機或裝置連上,否則只能自己本機能連
https://docs.microsoft.com/zh-tw/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api

我要發表回答

立即登入回答