Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 跟踪转移进度->;哪种资源?_C#_Azure - Fatal编程技术网

C# 跟踪转移进度->;哪种资源?

C# 跟踪转移进度->;哪种资源?,c#,azure,C#,Azure,我正在创建一个处理本地文件传输到Azure帐户的应用程序。 对于目录,我构建了一个要异步传输的文件列表 我正在使用进度处理程序实时跟踪每个文件传输的字节数。它使用动作对象。像这样: Action<TransferStatus> action = (status) => { Console.WriteLine("Transfered bytes: {0}", status.BytesTransferred); }; Action动作=(状态)=>{ WriteLi

我正在创建一个处理本地文件传输到Azure帐户的应用程序。 对于目录,我构建了一个要异步传输的文件列表

我正在使用进度处理程序实时跟踪每个文件传输的字节数。它使用动作对象。像这样:

Action<TransferStatus> action = (status) => {  
    Console.WriteLine("Transfered bytes: {0}", status.BytesTransferred); 
};
Action动作=(状态)=>{
WriteLine(“传输的字节:{0}”,status.ByTestTransfered);
};
其中,操作在系统中定义为

public delegate void Action<in T>(T obj)
公共委托无效操作(T obj)
TransferStatus是一个seal类,不包含任何方法,只包含四个属性(ByTestTransferred、NumberOfFilesTransferred、NumberofFilesSkipped、NumberOfFilesFailed),但与输入资源无关

最后,每次我都要跟踪转移进度:

Progress<TransferStatus> progress = new Progress<TransferStatus>(action);
SingleTransferContext context = new SingleTransferContext(null);
context.ProgressHandler = progress;
进度=新进度(行动);
SingleTransferContext=新的SingleTransferContext(null);
context.ProgressHandler=进度;
但是,我想知道action body中涉及的资源(即源文件)如下:

Action<TransferStatus> action = (status) => {  
    Console.WriteLine("File: {0}", getFile()); // ???
    Console.WriteLine("Transfered bytes: {0}", status.BytesTransferred); 
};
Action动作=(状态)=>{
WriteLine(“文件:{0}”,getFile());/???
WriteLine(“传输的字节:{0}”,status.ByTestTransfered);
};
Action不是类而是委托,因此无法扩展(当为每个文件实例化Action时,不可能添加属性来分配输入资源)。 不可能使用字典将状态链接到文件,因为状态不是我自己实例化的。Idem用于操作(不可能在代理正文中使用关键字“this”)

也许有一种简单的方法可以从操作中获取文件名? 有人知道Azure API吗


谢谢。

我解决了这个问题。这是一个错误的问题。

我认为这里缺少一些上下文。
TransferStatus
是如何实现的?为什么不能简单地扩展它以包含所需的数据呢?TransferStatus类不是我自己实例化的,而是在框架内实例化的。因此,我无法确定它的实例化位置(无法确定上下文)。而且,它是一个密封类,因此不能扩展。