2009-02-18 33 views
0

我不想重新发明轮子,我必须显示远程文件和文件夹(如SQL Management Studio),我应该开发自己的界面和逻辑还是有其他选择?我需要多个选择。通过WCF服务显示远程文件

我使用VS2008的.Net Framework 3.5 SP1中

感谢

编辑:

我构建了一个在网络中运行多环境音乐服务器,我必须提供能力选择应播放哪些音乐文件或文件夹。这些文件驻留在服务器上,并且不可用于客户端。客户端向服务器通报了我建立的WCF服务。

+0

你为什么要问:WCF?你如何计划在这种情况下使用WCF? – 2009-02-18 18:22:31

回答

0

当你说远程时,你究竟是什么意思?你的意思是在你的内部网的另一台服务器上,或者在网上?

如果您只需查看Intranet中另一台计算机上的文件,则.net中的内置文件选择器将起作用。你所需要做的就是把它交给一个网络地址(如:\ somemachine \ somefilepath)。

如果您的意思比这更远,那么FTP可能是一个选项。您可以在很短的时间内在C#应用程序中构建自己的基本FTP功能。谷歌“C#FTP”,你会发现很多例子。

第三个选项是一个简单的WCF服务,它返回一个文件名列表。但是你说你需要“多选”,所以我假设你不仅仅需要“读”这些文件,在这种情况下,你需要通过线路传输它们,在这种情况下,我建议使用FTP路由。

+0

我构建了一个在网络中运行的多环境音乐服务器,我必须提供选择应播放哪些音乐文件或文件夹的功能。这些文件驻留在服务器上,并且不可用于客户端。客户端向服务器通报了我建立的WCF服务。 – 2009-03-23 17:16:38

+0

然后你想要做的Marco是我列出的最后一条建议:获取服务器上的文件名并通过你的WCF服务返回它们。我也为我写的流媒体服务器做过这些。然后客户端可以选择可以通过WCF发送回服务器的文件名。 – 2009-03-23 18:43:50

0

除上述之外 - “文件”是什么意思,以及您希望如何显示它们?在自定义应用程序中,还是使用Windows资源管理器?


如上所述,WCF可能不是最合适的方法。世界上已经有文件传输协议,如果你不想重新发明轮子,那么你就不应该创建一个基于WCF的文件传输协议。您应该使用FTP,HTTP或WebDAV。

否则,您应该看看这些协议(特别是WebDAV),以获取您的服务需要执行的灵感。它需要公开文件和文件夹的概念,并有办法获取文件信息和获取文件。

就像“轮子”已经做到了。