**[operationcontract]
public
void
doupload(
string
filename,
byte
context,
bool
//上傳目錄
string
folder ="
~/upload");
if(!system.io.directory.exists(folder))
//檔案讀寫模式
filemode m
=filemode.create;
if//
如果引數為true則表示續傳,以追加模式操作檔案m =
//寫檔案操作
using
(filestream fs
=new
filestream(folder +@"
\"+filename, m, fileaccess.write))
return;}
void
uploader_douploadcompleted(
object
sender, system.componentmodel.asynccompletedeventargs e)
else}}
}public
class
uploadfile
//檔案大小
public
double
size
//已上傳
public
double
sent
//上傳內容
public
list
<
byte
>
context }//
點選事件
void
bt_click(
object
sender, routedeventargs e)
else
byte
filebyte
=new
byte
[b];
s.read(filebyte,
0, b);
file.context.add(filebyte);
}s.close();
//例項化wcf客戶端
servicereference1.uploadserviceclient uploader
=new
uploadfile.servicereference1.uploadserviceclient();
//註冊doupload完成事件
uploader.douploadcompleted
+=new
eventhandler
<
system.componentmodel.asynccompletedeventargs
>
(uploader_douploadcompleted);
//開始第乙個包的上傳
uploader.douploadasync(file.name, file.context[
0],
false
, file);}}
WCF中的非同步實現
目錄 wcf客戶端非同步呼叫服務 服務端的非同步實現 非同步 類的生成 1 客戶端非同步呼叫服務 客戶端非同步呼叫服務主要方式有幾種 1.1 直接呼叫非同步方法 在生成的 類中,有beginadd endadd等服務契約中定義的add操作的非同步實現。直接呼叫beginadd方法,實現客戶端非同步呼...
WCF 非同步呼叫
說明 wcf客戶端非同步呼叫與服務端 沒有關係,只是和客戶端的 有關係。服務端服務介面 using system using system.collections.generic using system.linq using system.text using system.servicemode...
WCF之非同步呼叫
非同步呼叫 獲得系統更好的吞吐量。使用者體驗性更好。但有時弄不好也會增加系統負擔。有兩種方法。我這裡只採用wshttp的方式。並且是採用新增服務引用的方法來做的。只需兩下就可以完成。1 在新增的 服務引用 上。配置 服務引用 勾選 以非同步來操作 2 它會自動新增 begin方法 和 end方法 這...