1

我在 asp.net 和 C# 中有一个 Web 应用程序,它必须访问远程服务器才能复制一些文件。Web 应用程序基本上部署了其他 Web 应用程序。

假设 Web 应用程序在“开发”服务器上运行,需要与“生产”服务器交互。从用户的角度来看,它们都是远程机器。他在浏览器上访问应用程序(在“开发”机器上运行),但看不到代码和“生产”机器的访问凭证。

在某些时候,它需要将 .ascx、.aspx、.cs 文件从开发机器复制到生产机器。我希望这很清楚^___^

谁能告诉我进行文件传输的最佳方法是什么?

谢谢!!!

九月

4

1 回答 1

0

如果机器在同一个网络上,一个简单的File.Copy使用 UNC 路径 (\\myserver\sharename\folder\file.ext) 就可以解决问题。

如果它们相距更远,您可以使用 FTP(MSDN 上的 FtpWebRequest)将文件发送到远程 FTP 服务器(假设有一个) - 或者在您的开发机器上托管一个 FTP 服务器(IIS 可以做到这一点)并拥有生产机器从中下载;常规 HTTP 也可以在这种情况下工作。

最后,如果有防火墙和上帝知道的其他方法,您可以在部署服务器上编写一个 Web 服务/请求处理程序,它将文件提供给远程机器,远程机器下载它们。

除非您有远程机器的 LAN/UNC 网络访问权限,否则几乎可以肯定需要在远程机器上安装一个组件以方便复制。

要设置应用程序(复制文件不一定会这样做;您可能还需要配置),您可以使用 WMI 编写 IIS 操作脚本 - 或者您可以使用 System.Management 类直接从 .NET 执行此操作:

http://learn.iis.net/page.aspx/163/managing-applications-and-application-pools-on-iis-70-with-wmi/

希望有帮助,或者至少给一些思考的食物..

于 2010-07-16T08:09:18.523 回答