3

如何在没有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();
4

2 回答 2

2

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

于 2012-09-20T06:15:46.107 回答
0

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

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

并且从客户端部分,您使用代码通过 http 或 ftp 检索文件。

一个简单的例子:使用 asp.net 下载文件

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

于 2012-09-20T06:17:46.307 回答