无需File.Copy()即可将应用程序dll从一个系统发送到另一个系统

时间:2012-09-20 06:13:19

标签: c# asp.net asp.net-mvc deployment

如何在C#中使用 File.Copy()应用程序dll 从一个系统发送到另一个系统?可能是FileStream,任何想法?

我正在使用网络服务

网络服务代码

    public string fileUpdates(string filesPath)
    {                      
        //System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(filesPath);
        //string[] fileNames = Directory.GetFiles(filesPath);
        FileStream fileStream = new FileStream(filesPath, FileMode.Open, FileAccess.Read);

        FileInfo fi = new FileInfo(filesPath);
        string s=fi.Extension;
        byte[] byteArr = new byte[fileStream.Length];
        fileStream.Read(byteArr, 0, Convert.ToInt32(fileStream.Length));
        string data=Encoding.ASCII.GetString(byteArr);

        return data;
    }

在客户端

                   fileDa = wcf3.fileUpdates(listItem);
                   byteArray = Encoding.ASCII.GetBytes(fileDa);
                   fileData = new MemoryStream(byteArray);

                    int Length = 256;
                    Byte[] buffer = new Byte[Length];
                    int bytesRead = fileData.Read(buffer, 0, Length);

                    while (bytesRead > 0)
                    {
                        writeStream.Write(buffer, 0, bytesRead);
                        bytesRead = fileData.Read(buffer, 0, Length);
                    }


                    //fileData.Close();
                    //writeStream.Close();

2 个答案:

答案 0 :(得分:2)

您可以将网络套接字 - TcpListenerTcpClient结合使用。或者如果你想获得更高的级别,你可以使用HTTP协议,这可能会更容易。因此,在远程计算机上,您可以使用运行ASP.NET应用程序的Web服务器来接收文件,而在客户端则只需使用HTTP请求发送文件。

答案 1 :(得分:0)

要将文件从一台计算机移动到另一台计算机,您需要设置服务器和客户端。

服务器可以是Web服务器,也可以是ftp服务器。

从客户端部分,您使用代码通过http或ftp。

检索文件

一个简单的例子:Download files using asp.net

从你说asp.net的那一刻起我建议使用http,你可能已经安装并运行了,你只需要将文件放在正确的URL上。