[英]Sending file using WebCLient: What is userToken?
我一直在嘗試通過SileverLight應用程序中的WebClient
將文件上傳到服務器。 我遇到過這個OpenWriteAsync
方法,它得到的前兩個參數很明確,但是第三個參數是object類型,它的名稱是UserToken
所以盡管我進行了很多搜索,但我找不到關於它的明確描述,並且應該如何使用。 (UserToken參數)。 那里面有什么?
Microsoft提供的用戶定義的對象是一個可怕的解釋。 我的意思是他們必須提供所有可以進入的屬性的地圖,例如:
new {param1 = value, param2= value}
開發人員無法猜測用戶定義的對象是如何自然工作的。
基本上,這就是您想要的。 它包含將在OpenWriteCompleted
事件中傳遞給事件args的狀態數據。 WebClient
除了傳遞數據外,不以其他任何方式使用此數據。
private void OpenWrite()
{
webClient.OpenWriteCompleted += webClient_OpenWriteCompleted;
// I'm just using this as an example. It can be any data type, but I am using byte[] so I can write it to the stream later.
byte[] data = new byte[] { 0, 1, 3, 4 };
webClient.OpenWriteAsync(uri, method, data);
}
private void webClient_OpenWriteCompleted(object sender, OpenWriteCompletedEventArgs e)
{
// Now e.UserState contains whatever data you passed as the userToken.
byte[] data = (byte[])e.UserState;
// Now write this data to the stream
e.Result.Write(data, 0, data.Length);
e.Result.Close();
}
如果您不需要傳遞任何狀態信息,只需傳遞null
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.