调用API将文件从一个位置复制到另一个位置

时间:2017-05-21 20:18:29

标签: c# api asp.net-web-api windows-services

首先,我很抱歉没有提供任何编码片段。那是因为我没有尝试过,我只是想先清除我的逻辑。是否可以调用API将文件从一个位置复制到另一个位置,例如,将文件名作为参数传递。

我的第二个问题是,在单击按钮上运行Windows服务以将文件从一个位置复制到另一个位置是不错的做法?例如,如果我有三个服务器,则当来自服务器3(域外)的应用程序请求时,服务器2(域内)中的Windows服务充当中间人从服务器1(域内)复制文件。服务器3面向公众,多个用户可以同时请求Windows服务的服务吗?这可能吗?很抱歉这个问题很长。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

据我所知,您希望服务器2成为DMZ的一部分,S1是公共网络中的私有网络和S3。从安全角度来看,这是有道理的。但是对于3种不同的机器,还存在安全通信的问题。如果它全部运行在可以访问相同内容的单个机器上,我看不到多少好处。因此,使三台Windows机器进行通信的一些自定义方式可能会产生安全风险,但这取决于您希望将多少资源用于它以及您计划测试的好处。所以,如果是我,我很可能会运行一个IIS中间人进行复制。在那里你可以设置端口,HTTPS,ip白名单,权限等,更容易,工具更好。
由于所有路径都只是字符串,因此很容易将文件从一台机器复制到另一台机器。问题是隔离您不想复制的文件。识别具有本地ID的文件可能会更好,因为那时您只允许访问所需的内容并限制对文件的访问,还需要一个特殊的目录来复制,不需要写访问权限。从理论上讲,你可以让api返回一个文件,然后让客户端用它做任何想做的事情但是你可能会有一些性能。