我正在嘗試創建一個網頁,它將允許用戶從使用ASP.NET連接到服務器的攝像頭捕獲圖像。相機是奧林巴斯,服務器端代碼可以訪問相機sdk中的所有同步通話。
當我試圖捕獲圖像時出現問題。
它在SDK中的工作方式是先告訴攝像頭拍攝圖像,然後將偵聽器添加到攝像頭觸發的事件,然後在攝像頭完成捕獲圖像後開始下載圖像。
事件從未觸發,所以我目前無法從相機下載圖像。
將偵聽器綁定到函數並告訴相機拍攝圖片的代碼位於按鈕的服務器端代碼中。
基本上我想知道如何能有一個事件監聽器的東西在服務器上的變化,如所附的相機的狀態。服務器端事件與ASP.NET混淆
1
A
回答
1
我希望你有這個問題。例如,我敢打賭,相機一次只假設一個桌面應用程序正在使用它。從Web應用程序中調用它是非常不同的,因爲每個請求都可能來自不同的用戶,並且可能與攝像機正在進行的操作無關。
我建議您通過Windows服務與相機進行通信。該服務將通過Windows服務中託管的WCF服務與Web應用程序進行通信。它會告訴相機拍攝圖像,並將附加到該事件。事件觸發時,它會從相機下載圖像並將其返回給Web服務的調用者。
WCF服務可能必須確保一次只有一個用戶正在使用相機。如果相機已被使用,則必須拒絕該通話。
0
服務器端事件捕獲可能會有點棘手。我已經完成了這一段時間,所以我完全從我的迷霧中記錄...
從頁面類中附加到服務器端事件會引發類的生命週期問題。一旦頁面交付後,類的實例不再處於範圍內,因此無論您分配給相機的事件處理程序是否不再在範圍內。我們使用了兩種不同的機制來處理這個問題。
A)爲事件處理程序分配一個靜態方法。靜態方法不綁定到類的特定實例,並且即使在頁面實例不在作用域中後,該靜態方法也會保留。
B)在GLOBAL類中分配一個方法來捕獲應用程序(或會話)_Start事件上的事件。這將事件處理程序保持在頁面類的範圍之外。
無論是哪種情況,您的事件處理程序都需要設置一些可以全局讀取的標誌以指示圖像已準備就緒,並且您的頁面需要輪詢頁面(或處理程序)或刷新以查找圖像準備好了。
您還需要查看相機API類實例的範圍。如果該類被實例化爲頁面類的成員,那麼只要頁面完成,它就會從地球表面掉落,這樣做並不會引發事件。相機類將需要靜態,全局或衍生到另一個獨立的線程。
希望我的霧羚羊幫助。祝你好運。
相關問題
- 1. 與SQL事務和ROWLOCKS混淆ASP.net C#
- 2. apache服務器與HTTPService響應混淆
- 3. ASP.NET:混合服務器控件與客戶端控件?
- 4. Asp.net在服務器端處理事件
- 5. ASP .NET混淆 - 服務器控件
- 6. 需要Ajax服務器端和客戶端混淆澄清
- 7. 事件日曆Asp.Net與服務器
- 8. 與asp.net控件和html控件混淆
- 9. 啊與服務層很混淆
- 10. 使用服務與Asycn Task混淆?
- 11. 與web服務和網站混淆
- 12. WCF服務器端事件
- 13. Javascript服務器端事件
- 14. 與匿名客戶端的服務和證書混淆
- 15. 混合服務器和客戶端控件,事件處理
- 16. Boost :: asio阻止Tcp服務器混淆
- 17. JMX混淆(遠程服務器控制)
- 18. 從web服務器混淆json
- 19. 客戶端日期和服務器日期混淆
- 20. 混淆ASP.Net MVC
- 21. 服務器發送事件 - 事件流 - 觸發PHP服務器端事件?
- 22. ASP.NET服務器控件客戶端事件處理
- 23. ASP.Net Ajax AsyncFileUpload控件不會觸發服務器端OnUploadCompleted事件
- 24. Codeigniter REST服務器API_key與令牌混淆
- 25. 服務器套接字多線程與設備混淆
- 26. ASP.NET主頁服務器控件事件
- 27. 與ListView適配器混淆
- 28. asp.net Web服務器控件與子控件,事件不觸發
- 29. Asp.Net資源混淆
- 30. 在asp.net服務器端的文本框keydown事件
你在回發上綁定事件處理程序嗎?如果沒有,該事件不會觸發您的處理程序。 – 2009-06-25 13:24:20