2016-03-21 26 views
0

我是ASP.NET的新手,我需要開發一個與RFID閱讀器進行通信的應用程序。

爲了做到這一點,我有一個DLL項目運行一個線程,管理與讀者的溝通,而我有另一個ASP.NET項目,管理用戶界面。

這兩個項目都在同一個解決方案中,所以ASP.NET項目引用了DLL項目。


在應用程序開始時,我的「Global.asax」文件初始化讀取器(DLL項目),運行其內部的線程,並註冊一些事件,如卡片在裏面時發生的「CardInside」讀者。

我的疑問是如果這個線程真的在運行,因爲它什麼都不做。我已經放置了多個斷點,以便查看該部分是否正在運行,但沒有停止。

我已經閱讀了關於線程問題的一些問題,但是因爲這個線程沒有用在http請求中:
-is有沒有在網頁的同一時間在ISS服務器上運行線程的問題?

- aspx.cs文件是否正常註冊由另一個對象觸發的事件?好像它不是Web應用程序?

- 我正在使用visual studio 2015,能否使用DEBUG對象在我的DLL代碼行之間顯示消息?

asp.net引用運行線程的DLL

非常感謝。

回答

0

是的,在IIS內部運行的線程不是請求的問題。當沒有請求進入IIS時,將會關閉AppDomain,並且將會運行後臺工作的線程。

您需要將代碼移出IIS並將其更改爲實際的Windows服務if你希望它一直在運行。然後,您可以讓IIS部分與Windows服務進行通信(反之亦然)來處理任何Web組件。

+0

因此,如果我沒有錯,喲建議是我把我的DLL項目變成一個服務,然後從我的網絡應用程序調用它,那是賴特? – user2413439

+0

我不知道你的網絡應用程序做什麼,但可能是的,這是正確的做法。 –

+0

Web應用程序只顯示文本框中RFID卡內的金額,並允許用戶單擊按鈕。這很簡單。 – user2413439