none
關於 ASP 與 應用程式 RRS feed

  • 問題

  • 請問各位大大,

    小弟因為對ASP不熟但是老闆有壓時間 要求要盡量趕出網站來

    也因為部熟  所以  想說 功能部份用  應用程式來處理(也因為功能簡單不需要很在意效能)

    ASP僅是撈資料庫 去讀取資料


    請問各位大大  那我要讓畫面上的按鈕 可以呼叫應用程式去作處理

    應該怎麼寫會比較好呢??

    麻煩各位了.....Thanks
    2009年9月3日 下午 02:37

解答

  • Max:
       其實不一定要用Web Service啊,  你可以直接用ASP.NET 的程式 Call 資料庫就好了.(ex : ADO.NET or LINQ之類的)
       以我的習慣, 即使我要從Web Form 去控制設備, 我也通常是採取兩段式 , Web Form 透過Socket 傳送命令給 Windows Service型式( 當然 Console or Windows Form也行) ,  然後由後端的Windows 控制設備, 如果設備回傳資料則是回傳給Windows Service,再傳回給Web Form程式( 其實正確說來是Web Form 的Socket 發出Request後等待Response)
    請關心自己的問題,不要問了就放空;這是對別人與自己的尊重。如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    • 已標示為解答 Max197 2009年9月4日 下午 01:27
    2009年9月4日 上午 05:09
  • asp / asp.net 本身是兩個平台,用詞請明確,歐晉 <> 歐晉德。

    既然有 WinForm 抓資料,不如就定時抓,寫入資料庫,網頁直接去資料庫讀就可以了。

    一般水庫即時水位就是一直寫入資料庫,網頁展示時,直接從資料庫讀。
    考慮到鎖定的話,可以一直新增,每天刪前天以前的舊資料等方式。

    若配合 SQL Server 的話,要定時做資料備份,截斷交易記錄檔。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    • 已標示為解答 Max197 2009年9月4日 下午 01:27
    2009年9月4日 上午 06:31
  • 這我有點懂了..
    1. 你有一個程式須要和某種設備溝通(也許是透過Socket or serialport)
    2. 你展現的部份要用Web Form呈現

    所以
    (1)和設備通訊的東西, 本來就要用 Windows form or Console or Windows Service的方式寫.
    (2)反正資料取得後就存到資料庫
    (3)畫面的部份, 用Ajax是沒錯的, 有個Web 用的Timer類別應該對你有幫助
    請關心自己的問題,不要問了就放空;這是對別人與自己的尊重。如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    • 已標示為解答 Max197 2009年9月4日 下午 01:27
    2009年9月3日 下午 03:11

所有回覆

  • 你要不要先把你的架構說明清楚?

    應用程式如果在用戶端 ... 除了 ActiveX 控制項外,網頁不可能呼叫用戶端應用程式。
    應用程式在伺服端 ... ASP.NET 可以用 Process.Start,但 ASP 沒有辦法,要找其他外部元件才可以。
    小人物一枚。
    2009年9月3日 下午 02:51
    版主
  • 小朱 大大

    我用的 vb2008  免費版

    asp.net 3.5

    我剛剛有看到  web Service 可以支援這樣的功能

    只是, 因為  畫面上要不斷地顯示  設備的數值  我想 設備的數值 透過 應用程式抓取後  存到 資料庫中

    然後 asp.net 3.5 裡面好像有一個 ajax 的頁面可以套用....

    我現在還在看書 看怎麼 即時顯示 又不會 使畫面跳動....


    目前正在研究中

    架構超簡單


    ASP.net + SQL資料庫 

    功能僅是   固定時間抓取設備的數值  顯示在畫面上
    並有一個頁面是報表 可以 轉出乘Excel 也可以列印.......
    這樣而已.....

    而 定時抓取設備數值的部份 我打算用 應用程式去抓取

    2009年9月3日 下午 03:02
  • 這我有點懂了..
    1. 你有一個程式須要和某種設備溝通(也許是透過Socket or serialport)
    2. 你展現的部份要用Web Form呈現

    所以
    (1)和設備通訊的東西, 本來就要用 Windows form or Console or Windows Service的方式寫.
    (2)反正資料取得後就存到資料庫
    (3)畫面的部份, 用Ajax是沒錯的, 有個Web 用的Timer類別應該對你有幫助
    請關心自己的問題,不要問了就放空;這是對別人與自己的尊重。如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    • 已標示為解答 Max197 2009年9月4日 下午 01:27
    2009年9月3日 下午 03:11
  • 這種架構,用應用程式直接存取資料庫會比用 ASP.NET 好做很多吧 ...
    ASP.NET 只要負責把資料取出顯示就好了。


    小人物一枚。
    2009年9月3日 下午 03:14
    版主
  • 嗯嗯  大大們的建議  

    小弟我瞭解了


    目前我在想的作法為

    1.asp.net 3.5  顯示資料

    2.撰寫邏輯流程在 web serviice  讓asp來呼叫

    3.撰寫App 在本機以取得設備最新資料同時更新到 資料庫內....


    阿  我用 wevService 的想法是  asp.net 可像 bill 大大說得 一樣可以讓 asp 呼叫運用
    本來是想說寫成 組件掛再往頁(好像可以的樣子)   但,一直擔心 網頁掛點的話該怎麼辦...
     

    so..


    謝謝大大們的回覆 ︿︿
    2009年9月4日 上午 03:02
  • Max:
       其實不一定要用Web Service啊,  你可以直接用ASP.NET 的程式 Call 資料庫就好了.(ex : ADO.NET or LINQ之類的)
       以我的習慣, 即使我要從Web Form 去控制設備, 我也通常是採取兩段式 , Web Form 透過Socket 傳送命令給 Windows Service型式( 當然 Console or Windows Form也行) ,  然後由後端的Windows 控制設備, 如果設備回傳資料則是回傳給Windows Service,再傳回給Web Form程式( 其實正確說來是Web Form 的Socket 發出Request後等待Response)
    請關心自己的問題,不要問了就放空;這是對別人與自己的尊重。如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    • 已標示為解答 Max197 2009年9月4日 下午 01:27
    2009年9月4日 上午 05:09
  • asp / asp.net 本身是兩個平台,用詞請明確,歐晉 <> 歐晉德。

    既然有 WinForm 抓資料,不如就定時抓,寫入資料庫,網頁直接去資料庫讀就可以了。

    一般水庫即時水位就是一直寫入資料庫,網頁展示時,直接從資料庫讀。
    考慮到鎖定的話,可以一直新增,每天刪前天以前的舊資料等方式。

    若配合 SQL Server 的話,要定時做資料備份,截斷交易記錄檔。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    • 已標示為解答 Max197 2009年9月4日 下午 01:27
    2009年9月4日 上午 06:31
  • 嗯嗯  我瞭解大大地意思


    但只是因為我沒有寫過 ASP.net 的 Scoket  我是會用 vb 的 socket 

    所以 我怕我在 asp 有哪個地方 loss 掉 導致 使用者按下去按鈕 沒有得到預期的結果


    所以才會想說透過 web service 當中介 似乎比起我自己寫 socket 穩定 呵

    不過 您的方式 小弟我也會很努力思考怎麼撰寫.... 謝謝您:D
    2009年9月4日 上午 07:13
  • 嗯嗯......

    在裡面的架構, 也是朝著大大地建議在走 ,,,,,,  ^^  
    2009年9月4日 上午 07:14
  • 嗯嗯  我瞭解大大地意思


    但只是因為我沒有寫過 ASP.net 的 Scoket  我是會用 vb 的 socket 

    所以 我怕我在 asp 有哪個地方 loss 掉 導致 使用者按下去按鈕 沒有得到預期的結果


    所以才會想說透過 web service 當中介 似乎比起我自己寫 socket 穩定 呵

    不過 您的方式 小弟我也會很努力思考怎麼撰寫.... 謝謝您:D

    用Web Service當中介也無不可, 問題要考慮到, 一般單晶片的設備通常要不是RS232就是485或422, 你如果用兩個程式去呼叫同一個設備就要小心了, 加上有些單晶片設備回應慢的問題,同時呼叫可能會出包.
    請關心自己的問題,不要問了就放空;這是對別人與自己的尊重。如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    • 已標示為解答 Max197 2009年9月4日 下午 01:26
    • 已取消標示為解答 Max197 2009年9月4日 下午 01:27
    2009年9月4日 上午 10:28
  • 嗯嗯

    我瞭解您的意思   設備兩百台  設備們 都用 Rs485 串起來後轉 網路  所以,較安心... 呵呵

    大大們給的建議 讓我受益良多  我會盡力思考大大給的建議,努力施作.... 

    謝謝大家的建議 :D

    感恩


    2009年9月4日 下午 01:26
  • MAX:
       我還是不得不提醒你, 即使你用了網路轉換器, 設備的本質還是rs485,有一個徵結是常忽略的 是Ethernet的速度通常大於Rs485太多, 尤其可能一個轉換器接多個設備. 在等待回應的部份你可能要稍微測試一下, 通常在Send 命令後, 最好是 Sleep一點時間(這時間依設備會有點不同. 大概都會超過0.1秒), 再執行 Receive 回應的動作.
       有一個徵結是常忽略的 Ethernet的速度通常大於Rs485太多.
     


    請關心自己的問題,不要問了就放空;這是對別人與自己的尊重。如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    2009年9月5日 上午 04:51
  • 嗯嗯 謝謝 Bill 大大 的提點.....

    我會特別注意  並且也盡量使用 checksum 來確保資料的完整

    您說得問題 小弟也常常遇到 呵呵,,,,,, 阿我也是用 Sleep () 來解決這個問題 mmmm  只是不知道有沒有更棒的方式...

    在探索中.... 不然,都只能寫在 Thread 內 不然都會卡卡滴...

    感恩。....︿︿ 
    2009年9月5日 上午 04:56
  • MAX:
       我都是用Thread作輪詢的. 否則輪循速度一快起來主畫面就會卡卡的. 但是, 我在Thread中還是會在 Send與Receive之間做Sleep()
      
    請關心自己的問題,不要問了就放空;這是對別人與自己的尊重。如果你一直都看不懂、不想學習看懂、抗拒看懂MSDN Library的話,那你最好放棄想要寫好程式這件事
    2009年9月5日 上午 05:08
  • 嗯嗯 我也是..... ^^
    2009年9月5日 上午 05:39