zoukankan      html  css  js  c++  java
  • C# 下面的代码示例演示如何结束异步操作以获取请求的流,然后开始一个请求以获取响应。....

    private static void EndGetStreamCallback(IAsyncResult ar)
    {
        FtpState state 
    = (FtpState) ar.AsyncState;

        Stream requestStream 
    = null;
        
    // End the asynchronous call to get the request stream.
        try
        {
            requestStream 
    = state.Request.EndGetRequestStream(ar);
            
    // Copy the file contents to the request stream.
            const int bufferLength = 2048;
            
    byte[] buffer = new byte[bufferLength];
            
    int count = 0;
            
    int readBytes = 0;
            FileStream stream 
    = File.OpenRead(state.FileName);
            
    do
            {
                readBytes 
    = stream.Read(buffer, 0, bufferLength);
                requestStream.Write(buffer, 
    0, readBytes);
                count 
    += readBytes;
            }
            
    while (readBytes != 0);
            Console.WriteLine (
    "Writing {0} bytes to the stream.", count);
            
    // IMPORTANT: Close the request stream before sending the request.
            requestStream.Close();
            
    // Asynchronously get the response to the upload request.
            state.Request.BeginGetResponse(
                
    new AsyncCallback (EndGetResponseCallback), 
                state
            );
        } 
        
    // Return exceptions to the main application thread.
        catch (Exception e)
        {
            Console.WriteLine(
    "Could not get the request stream.");
            state.OperationException 
    = e;
            state.OperationComplete.Set();
            
    return;
        }

    }
  • 相关阅读:
    Redis3.0.1 Stable版本的集群部署(Mac)
    Maven的包依赖冲突可引发java.lang.IncompatibleClassChangeError错误
    Key/Value存储系统etcd的特性
    实时消息平台NSQ的特性
    StringIO函数
    对文件内容进行迭代
    基本文件方法
    打开文件
    正则表达式知识点汇总
    编译
  • 原文地址:https://www.cnblogs.com/Fooo/p/1325354.html
Copyright © 2011-2022 走看看