2

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

4

1 回答 1

2

如果您使用 .net 3.5+,请考虑使用命名管道。我已经看到它们非常有效地用于使用相应的库/DLL 在 firefox 扩展/插件和 .net 应用程序之间进行通信。(firefox 插件确实需要一点本地 c++ 代码)

另一种选择是在您的应用程序中包含某种服务器,并让您的 Firefox 扩展通过 sockets/tcp 与之通信。如果你使用 HTTP 作为你的协议,那么你可以通过从你的扩展中点击http://localhost:12345/getdata?id=1来进行通信。两端通过 HTTP 进行通信应该相对容易,但请确保建立良好的威胁模型,以便您识别和缓解在机器上运行服务器所产生的任何安全问题。

除此之外,我会搜索 .net/windows IPC 并查看其他 Windows IPC 机制可能适合什么。它们应该比编写文本文件和注册表项更健壮。(我预见剪贴板路线非常脆弱。)这个问题可能是一个好的开始。

于 2009-11-12T05:20:55.953 回答