【问题标题】:call an API to copy a file from one location to another调用 API 将文件从一个位置复制到另一个位置
【发布时间】:2017-05-21 20:18:29
【问题描述】:

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

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

【问题讨论】:

  • 无论您尝试做什么,这种接缝都是一种效率极低的方法。
  • @Filip 有没有更好的方法来做到这一点?如果是这样,请建议。谢谢

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-30
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    • 1970-01-01
    相关资源
    最近更新 更多