C#Web应用程序文件传输

时间:2010-07-16 08:01:50

标签: c# asp.net file-transfer

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

让我们说网络应用程序在“开发”服务器上运行,需要与“生产”服务器进行交互。从用户的角度来看,它们都是远程机器。他在浏览器上访问应用程序(在“开发”机器上运行),但没有看到“生产”机器的代码和访问凭据。

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

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

感谢!!!

1 个答案:

答案 0 :(得分:0)

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

如果它们相距甚远,您可以使用FTP(FtpWebRequest on MSDN)将文件发送到远程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/

希望有所帮助,或至少给人一些思考的东西..