C# 我应该使用哪种技术公开服务器文件系统?

C# 我应该使用哪种技术公开服务器文件系统?,c#,architecture,filesystems,webdav,C#,Architecture,Filesystems,Webdav,我需要向客户端公开驻留在服务器机器中的存储库。应验证客户端,并启用读写权限。我们对如何实施存在疑问: 我们已经有了基于客户端的COM层,所以我们可以用一些C#UI来包装它 服务器rest服务,然后在C#/GWT/etc中编写基于rest服务的UI 实施WebDav协议并获得免费客户端(windows、total commander等) 你认为什么是最好的方法?我不知道你在说什么类型的存储库,以及你的客户需要如何使用它。但如果只是简单地读写文件,我会说WebDAV是最好的方式:它在所有平台上都得到

我需要向客户端公开驻留在服务器机器中的存储库。应验证客户端,并启用读写权限。我们对如何实施存在疑问:

  • 我们已经有了基于客户端的COM层,所以我们可以用一些C#UI来包装它

  • 服务器rest服务,然后在C#/GWT/etc中编写基于rest服务的UI

  • 实施WebDav协议并获得免费客户端(windows、total commander等)


  • 你认为什么是最好的方法?

    我不知道你在说什么类型的存储库,以及你的客户需要如何使用它。但如果只是简单地读写文件,我会说WebDAV是最好的方式:它在所有平台上都得到广泛支持,有大量免费客户端,可以在几分钟内安装到Windows机器上,支持SSL(我认为),并且非常易于使用


    如果您需要做更细粒度的事情,如协议更改,您是否考虑过使用Subversion、Git或Mercurial等源代码控制软件?他们会提供很大的可能性,但客户的学习曲线将非常陡峭。我不建议非技术人员使用此功能。

    我不确定您在基础设施方面有什么优势,但我建议将服务器置于DMZ中,这样,如果有人闯入,他们就不会对网络的其余部分造成太多破坏

    您将如何对用户进行身份验证?ASP.NET 2.0+有一些有用的库,这些库为管理用户提供了一些优秀的开箱即用功能,这些功能与FormsAuthentication集成;这将为您提供身份和访问管理选项-假设您编写了asp.net前端


    无论您采取什么方法,我都会建议您自己或由第三方安全专家使用。

    WebDAV或SFTP(SSH文件传输协议)服务器都可以工作。它们提供类似的功能,其中SFTP更为广泛

    很好的建议,但与OP的要求相去甚远