3

C#でFile.Copy()を使用せずに、あるシステムから別のシステムにアプリケーションdllを送信するにはどうすればよいですか?FileStreamによるものかもしれませんが、アイデアはありますか?

Webサービスを使用しています

Webサービスコード

    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

ネットワークソケットを使用できます-TcpListenerをTcpClientと組み合わせて使用​​できます。または、レベルを上げたい場合は、おそらくより簡単なHTTPプロトコルを使用できます。したがって、リモートマシンでは、ファイルを受信するASP.NETアプリケーションを実行しているWebサーバーを使用でき、クライアント側では、HTTP要求を使用してファイルを送信するだけです。

于 2012-09-20T06:15:46.107 に答える
0

あるコンピューターから別のコンピューターにファイルを移動するには、サーバーとクライアントをセットアップする必要があります。

サーバーは、Webサーバーまたはftpサーバーにすることができます。

また、クライアントの一部から、コードを使用してhttpまたはftp経由でファイルを取得します。

1つの簡単な例:asp.netを使用してファイルをダウンロードする

asp.netと言った瞬間からhttpをお勧めします。おそらく、issをインストールして実行しているので、ファイルを正しいURLに配置するだけで済みます。

于 2012-09-20T06:17:46.307 に答える