2009-11-12 92 views
2

我正在尋找一種更好的方式來在我的Firefox擴展和.NET應用程序之間傳遞信息。目前,我正在使用文本文件通過使用FileSystemWatcher類將信息傳遞給.NET應用程序。當Firefox擴展寫入特定目錄時,.NET應用程序將監視新文件,然後將信息存儲在本地SQL Server數據庫中。現在,我想查詢FF擴展中的信息,但除了可能使用剪貼板之外,我還沒有找到一個好的方法來做到這一點。使用文本文件有點笨重,所以任何建議,將不勝感激。Firefox擴展和.NET應用程序之間的通信

回答

2

如果您使用.net 3.5+然後考慮使用named pipes。我已經看到他們非常有效地使用相應的庫/ DLL在Firefox擴展/插件和.net應用程序之間進行通信。 (Firefox的插件確實需要的本地C++代碼一點點)

另一種方法是包括在您的應用某種形式的服務器,讓你的Firefox擴展通過socket/TCP與溝通。如果您使用HTTP作爲您的協議,那麼您可以通過執行諸如從您的擴展中打http://localhost:12345/getdata?id=1這樣的通信。通過HTTP進行通信在兩端應該相對容易,但要確保建立一個良好的威脅模型,以便識別和緩解由於在服務器上運行服務器而產生的任何安全問題。

除此之外,我會搜索.net/windows IPC並查看其他Windows機制可能適合的內容。它們應該比編寫文本文件和註冊表鍵更健壯。 (我預見剪貼板路線非常脆弱。)這個question可能是一個好的開始。

+0

感謝您的建議。我去實現一個HTTP服務器。我在.NET應用程序中使用HttpListener創建了一個服務器類,並在擴展中使用了XPCOM作爲套接字。 – 2009-11-12 17:12:59

相關問題