关于文件下载

手抓宝 2010-08-10 02:38:43

string FileName = "xxxx.xlsx";
Uri uri = new Uri(Application.Current.Host.Source, "../DownLoad.ashx?filename=" + FileName);

WebClient client = new WebClient();
client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
client.OpenReadAsync(uri);


void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{}


这里边的e.UserState为什么是null?什么原因造成的?
...全文
126 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
手抓宝 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jv9 的回复:]
可以试着debug,看服务端是否能获取到文件信息,然后查看e的返回是否有数据?
[/Quote]

e的result是有值的,但是userstate就是为null
badi888 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 codemarine 的回复:]
userstate好像是您设置的,不是系统的原因。OpenReadAsync()仔细看这个方法应该多一个重载,多出来的重载就是要让您设置userstate参数的。
[/Quote]

顶。。。
mengKzhaoyun 2010-08-11
  • 打赏
  • 举报
回复
client.OpenReadAsync(uri,"这样就有UserState了");
e.UserState = "这样就有UserState了"
同上e.UserState,是客户端对调用方法的一次重载,所传递的参数类型是Object,也就是自己传自己用,别指望这个参数会传递到服务器去。。。。
额。。楼上说的有理。。
CodeMarine 2010-08-11
  • 打赏
  • 举报
回复
userstate好像是您设置的,不是系统的原因。OpenReadAsync()仔细看这个方法应该多一个重载,多出来的重载就是要让您设置userstate参数的。
kiteboy1 2010-08-11
  • 打赏
  • 举报
回复
试debug啊
dui_cky 2010-08-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jv9 的回复:]

可以试着debug,看服务端是否能获取到文件信息,然后查看e的返回是否有数据?
[/Quote]

赞成这种做法
jv9 2010-08-11
  • 打赏
  • 举报
回复
至少需要获取到服务器端返回的错误,才能判断问题在哪里。
jv9 2010-08-11
  • 打赏
  • 举报
回复
可以试着debug,看服务端是否能获取到文件信息,然后查看e的返回是否有数据?
老Key 2010-08-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hrabeyond 的回复:]
我1。
[/Quote]
晕死。。你自己发了立马回复。。肯定是1啊,,这个sl版人气不是很旺的。。。不会出现发帖子立马顶到几十楼呢。除非等微软专心推sl。。。。
healer_kx 2010-08-10
  • 打赏
  • 举报
回复
看看这篇文章能不能帮到你
http://www.cnblogs.com/webabcd/archive/2008/12/08/1349963.html

8,734

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧