如何从Coldfusion 10访问c#Memory Mapped文件?

时间:2013-08-24 09:04:16

标签: c# coldfusion memory-mapped-files

我有一个c#应用程序,每1秒生成一次数据(股票价格数据),每次迭代后都可以丢弃。 我想将这些数据传递给Coldfusion(10)应用程序,我考虑让c#应用程序每秒将数据写入文件,然后让Coldfusion应用程序读取该数据,但这很可能会导致问题两个应用程序同时尝试读取或写入文件的可能性?

我想知道使用内存映射文件是否是更好的方法?如果是这样,我怎么能从Coldfusion访问内存映射文件?

任何建议都将不胜感激。感谢。

1 个答案:

答案 0 :(得分:2)

我们已经制作了许多股票应用程序,包括通过勾选跟踪监视列表,图表等。我认为文件的想法可能不是一个好主意,除非你是在定期讨论单个股票。根据我的经验,每隔“秒”改变可能是低估案件的方式。一些stokes(AAPL或GOOG是很好的例子)在高峰时期每秒有数百个“滴答”。

因此,如果你没有采取每一个滴答但实际上每1秒“更新文件”,那么你的想法有一些优点,你可以使用文件监视网关为你激发事件并“看到”该文件是更新。

但请记住,你实际上是在介绍“中间”的东西。现在,文件位于Java或CF应用程序与报价引擎之间。无论你选择做什么(文件处理获取和释放等),这都会引入延迟。并且一个进程的锁可能会干扰另一个进程。

当你处理facebook更新时,毫秒并不重要 - 尽管所有十几岁的女孩都可能不同意我的意思:)但是,对于股票报价,一半的任务是削减毫秒来让你的流程成为尽可能接近实时。

我们的选择通常是选择套接字而不是中间桥接数据的东西。引用引擎然后保持它的监视列表并像正常一样更新它的数组,但也向下发送任何更新到套接字引擎,它将它推送到可以处理它的东西(图表应用程序,监视列表,网页的socketgateway等)。

希望这会有所帮助 - 这不是一个明确的答案,而是对你面临的障碍的更多澄清。