已有57人关注
关于remoting文件传递请教四
发表在C#图书答疑 2010-07-02
是否精华
版块置顶:
明日,谢谢您们及时回帖,我按您们的建议试验,结果将陆续反馈给您们。这几天可能多次麻烦您们,请原谅。
一。按照您们的回帖测试ok.
二。修改RemotingClass类库,将文件打开方式等修改为读写方式,上传文件ok.
三。Filel类和FilelInfo类的区别是知道了,Filel和FileStream的区别是什么?Filel对象能不能用于网络文件读写(上传,下载)?
四。为了熟悉c#文件操作自己做了以下试验,但是就传输8k字节,错误在那,多个函数中比较好坏?
private void button1_Click(object sender, EventArgs e)
{   string SF = textBox1.Text;
    string TF = textBox2.Text;
    using (FileStream P_sf = fc.GetFile(SF))
    using (FileStream P_tf = new FileStream(TF, FileMode.Create))
    {
        BinaryReader m_BR = new BinaryReader(P_sf);
        BinaryWriter m_BW = new BinaryWriter(P_tf);
        for (long P_count = 0; P_count < P_sf.Length; P_count++) {
            m_BW.Write(m_BR.ReadByte());
        }
    }
}
五..同步和异步操作性能有区别吧?,能否提供,异步文件传输样本?
    再次感谢您和您们!
分享到:
精彩评论 1
满园春色关不住
学分:0 LV1
TA的每日心情
努力自律
2023-11-19 09:49:04
2010-07-01
沙发
曹老师:
您好,很高兴再一次回答您的问题,对于您提出的问题可以通过如下方法解决。
第三个问题:
File与FileStream是有区别的,File用于操作文件,比如复制文件、删除文件、
设置文件属性等等。FileStream是文件流操作,可以通过流向文件内写入信息
也可能通过文件流从文件中读取信息。
第四个问题:
但是就传传输8k字节,错误在那。

您上面的代码是没有问题的,您可以使用我已经给您回答过问题中的代码试一下,
代码如下:
using(FileStream P_fs2 = new FileStream(textBox2.Text,FileMode.Create))
using(FileStream P_fs = fc.GetFile(textBox1.Text))
{
byte[] P_bt = new byte[2000];
int P_count = 0;
while((P_count = P_fs.Read( P_bt , 0 , P_bt.Lenght)) > 0 )
{
P_fs2.Write( bt , 0 ,P_count );
}
}

第五个问题:
同步和异步操作性能有区别吧?,能否提供,异步文件传输样本?

同步和异步是有区别的。书中Remoting的实例是使用窗体线程执
行的,也就是说窗体线程会等待远程方法执行完毕后再执行下面
的代码。而使用异步的方式会使用线程池去执行远程方法,这样
做的好处是用户操作更加友好,不会出现传输文件时窗体卡或无
响应情况。在我们图书的实例中没有提供Remoting的异步方法,
但是我可以在这里给您一些提示信息,Remoting本身没有提供
异步方法,但可以使用委托来实现,也可以直接使用线程池执
行远程方法,如:
            System.Threading.ThreadPool.QueueUserWorkItem(
                (o) => {
                    //此处写入远程执行的方法
                });
曹老师感谢您对明日图书的支持,也感谢您提出的宝贵见意,祝您身体健康!
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照