在Firefox扩展和.NET应用程序之间进行通信

时间:2009-11-12 04:59:33

标签: .net sql-server firefox clipboard filesystemwatcher

我正在寻找一种更好的方法来在我的Firefox扩展和.NET应用程序之间传递信息。目前,我使用文本文件通过使用FileSystemWatcher类将信息以一种方式传递给.NET应用程序。当.NET扩展写入时,.NET应用程序会监视特定目录中的新文件,然后将信息存储在本地SQL Server数据库中。现在,我想查询FF扩展中的信息,但除了使用剪贴板之外,我还没有想出一个好的方法。使用文本文件有点笨拙,所以任何建议将不胜感激。

1 个答案:

答案 0 :(得分: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可能是一个好的开始。