2009-05-20 25 views
0

我们正在研究通过Silverlight在浏览器中运行的WPF应用程序。现在的大问号是;我们有什么样的文件访问权限(没有想到许多箍环)?Silverlight的WPF:文件IO呢?

  • 我们可以打开服务器端文件吗?
  • 我们可以打开客户端文件吗?
  • 我们可以在文件(客户端或服务器端)上获得更改通知吗?
  • 我们可以做正常的开放/寻求/写入/追加操作吗?

(很好的链接欢迎为answeres)


+0

如果要从服务器加载某些东西,请转到ASP.NET – abmv 2009-05-20 19:32:05

回答

3
  1. 服务器端文件:没有,除非你通过Web服务为他们服务。
  2. 您可以通过两种方式打开文件。一个是isolated storage,你的应用程序有一个面积有限的区域(尽管你可以要求用户增加)。在这里你可以阅读,写作和做你想做的事情。如果你想要硬盘访问,那么你只能读取,并且文件必须从file open dialog打开。
  3. 如果您的意思是通过FileSystemWatcher - 否,即使在隔离存储中。服务器端你可以做你想做的事情,显然,因为它不是Silverlight。你可以使用duplex web services,这样当文件发生变化时,服务器可以通知你的silverlight应用程序。
  4. 在隔离存储中,你可以做你想做的。除此之外,它只是读取操作,用户必须从“文件打开”对话框中选择一个文件。
0

让它XBAP并将其部署为完全信任

您有什么还挺应用????首先告诉我们,我们可以得出结论!

UPDATE

+0

非Silverlight应用程序只是一个打开,读取,更新和监视文件的应用程序。如果回答我的问题需要更多的信息,那么我怀疑你是不是正在回答我想问的问题,或者Silverlight与WPF的距离不够,无法满足我们的需求。 – BCS 2009-05-20 18:47:00

+0

那些涵盖客户端...... – BCS 2009-05-20 19:27:11

+0

您需要重新构建您的架构......您可以实现Web服务和一些轮询客户端或WCF抛出的东西......在您之前,您的核心将工作,用户界面可以显示统计信息 – abmv 2009-05-20 19:31:01

-1

您将无法操纵的Silverlight的本地文件没有丰富的客户端组件。客户端组件必须公开Web服务API并像本地Web服务器一样运行。有了这个aproach,你几乎可以做WPF应用程序可以做的所有事情。

-1
  1. “我们可以打开服务器端文件吗?” - 是的,但需要Web服务(编辑)
  2. “我们可以打开客户端文件吗?” - 是的,只能通过打开文件窗口或孤立文件夹中的文件
  3. “我们可以在文件(客户端或服务器端)上获得更改通知吗?” - 是的,但只在服务器端。
  4. “我们可以进行正常的开/寻/写/追加操作吗?” 使用Silverlight中提供的System.IO.FileStream类,您可以操纵内存中的文本流。但是,您需要通过Web服务获取流,使用文件打开窗口或隔离的存储打开它。