NSUrlSession 类

定义

协调一组数据传输任务,包括大型后台任务。

[Foundation.Register("NSURLSession", true)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 7, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.MacOSX, 10, 9, ObjCRuntime.PlatformArchitecture.All, null)]
public class NSUrlSession : Foundation.NSObject
type NSUrlSession = class
    inherit NSObject
继承
NSUrlSession
派生
属性

注解

在 iOS 7 及更高版本中, NSUrlSession 相关类是向/从 Web 传输较大文件的首选方法。

NSUrlSession 当应用程序在后台时,下载可以正常工作。

与常规任务不同,后台传输不会限制为 10 分钟,而是将一直运行到传输完成。 由于后台传输不受任意时间限制的约束,因此它们可用于上传或下载大型文件、自动更新后台内容等。

以下示例演示了一个能够异步下载大型文件的下载请求:

var config = NSUrlSessionConfiguration.BackgroundSessionConfiguration(Guid.NewGuid().ToString());
var session = NSUrlSession.FromConfiguration(config, new SimpleSessionDelegate(), new NSOperationQueue());
var downloadTask = session.CreateDownloadTask(NSUrlRequest.FromUrl(url));
//Begin download, asynchronously
downloadTask.Resume();
 ... 
class SimpleSessionDelegate : NSUrlSessionDownloadDelegate
{
  public override void DidFinishDownloading(NSUrlSession session, NSUrlSessionDownloadTask downloadTask, NSUrl location)
	{
		var file = File.OpenRead(location.Path);
     ...
	}
}

构造函数

NSUrlSession(IntPtr)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

NSUrlSession(NSObjectFlag)

在派生类上调用 的构造函数,以跳过初始化并仅分配 对象。

属性

Class

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
ClassHandle

此类的句柄。

Configuration

此会话的配置对象。

DebugDescription

此对象的开发人员有意义的说明。

(继承自 NSObject)
Delegate

充当类委托的 Foundation.INSUrlSessionDelegate 模型类的实例。

DelegateQueue

创建此操作时使用的操作队列。 只读。

Description

对象的说明,即 ToString 的 Objective-C 版本。

(继承自 NSObject)
Handle

处理指向非托管对象表示形式的 (指针) 。

(继承自 NSObject)
IsDirectBinding

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
IsProxy

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
RetainCount

返回对象的当前 Objective-C 保留计数。

(继承自 NSObject)
Self

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
SessionDescription

会话的可读说明。

SharedSession

共享的单一实例对象。

Superclass

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
SuperHandle

用于表示此 NSObject 基类中方法的句柄。

(继承自 NSObject)
WeakDelegate

可以响应此类型的委托协议的对象

Zone

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)

方法

AddObserver(NSObject, NSString, NSKeyValueObservingOptions, IntPtr)

使用 NSString keyPath) 注册一个对象,以便在外部 (观察到该对象。   观察到的更改将调度到观察者的 对象 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 方法。

(继承自 NSObject)
AddObserver(NSObject, String, NSKeyValueObservingOptions, IntPtr)

使用字符串 keyPath) 注册一个对象,以便在外部 (观察到该对象。   观察到的更改将调度到观察者的 对象 ObserveValue(NSString, NSObject, NSDictionary, IntPtr) 方法。

(继承自 NSObject)
AddObserver(NSString, NSKeyValueObservingOptions, Action<NSObservedChange>)

注册一个对象,以便使用任意方法在外部观察。

(继承自 NSObject)
AddObserver(String, NSKeyValueObservingOptions, Action<NSObservedChange>)

注册一个对象,以便使用任意方法在外部观察。

(继承自 NSObject)
AwakeFromNib()

从 nib 文件加载对象后调用。 替代器必须调用 base。AwakeFromNib () 。

(继承自 NSObject)
BeginInvokeOnMainThread(Action)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
BeginInvokeOnMainThread(Selector, NSObject)

在主 UI 线程上异步调用指定的代码。

(继承自 NSObject)
Bind(NSString, NSObject, String, NSDictionary)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
Bind(String, NSObject, String, NSDictionary)
已过时.

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
BindingInfo(String)
已过时.

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
BindingOptionDescriptions(String)
已过时.

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
BindingValueClass(String)
已过时.

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
CommitEditing()

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
CommitEditing(NSObject, Selector, IntPtr)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
ConformsToProtocol(IntPtr)

调用以确定此对象是否实现指定的协议。

(继承自 NSObject)
Copy()

执行基础 Objective-C 对象的副本。

(继承自 NSObject)
CreateBidirectionalStream(NSNetService)

协调一组数据传输任务,包括大型后台任务。

CreateBidirectionalStream(String, nint)

协调一组数据传输任务,包括大型后台任务。

CreateDataTask(NSUrl)

基于指定的 URL 创建 HTTP 请求。

CreateDataTask(NSUrl, NSUrlSessionResponse)

协调一组数据传输任务,包括大型后台任务。

CreateDataTask(NSUrlRequest)

协调一组数据传输任务,包括大型后台任务。

CreateDataTask(NSUrlRequest, NSUrlSessionResponse)

协调一组数据传输任务,包括大型后台任务。

CreateDataTaskAsync(NSUrl)

协调一组数据传输任务,包括大型后台任务。

CreateDataTaskAsync(NSUrl, NSUrlSessionDataTask)

协调一组数据传输任务,包括大型后台任务。

CreateDataTaskAsync(NSUrlRequest)

协调一组数据传输任务,包括大型后台任务。

CreateDataTaskAsync(NSUrlRequest, NSUrlSessionDataTask)

协调一组数据传输任务,包括大型后台任务。

CreateDownloadTask(NSData)

为以前取消或失败的下载创建下载任务。

CreateDownloadTask(NSUrl)

协调一组数据传输任务,包括大型后台任务。

CreateDownloadTask(NSUrl, NSUrlDownloadSessionResponse)

协调一组数据传输任务,包括大型后台任务。

CreateDownloadTask(NSUrlRequest)

协调一组数据传输任务,包括大型后台任务。

CreateDownloadTask(NSUrlRequest, NSUrlDownloadSessionResponse)

协调一组数据传输任务,包括大型后台任务。

CreateDownloadTaskAsync(NSUrl)

协调一组数据传输任务,包括大型后台任务。

CreateDownloadTaskAsync(NSUrl, NSUrlSessionDownloadTask)

以异步方式将 URL 资源下载到临时文件。

CreateDownloadTaskAsync(NSUrlRequest)

协调一组数据传输任务,包括大型后台任务。

CreateDownloadTaskAsync(NSUrlRequest, NSUrlSessionDownloadTask)

以异步方式将 URL 资源下载到临时文件。

CreateDownloadTaskFromResumeData(NSData, NSUrlDownloadSessionResponse)

协调一组数据传输任务,包括大型后台任务。

CreateDownloadTaskFromResumeDataAsync(NSData)

协调一组数据传输任务,包括大型后台任务。

CreateDownloadTaskFromResumeDataAsync(NSData, NSUrlSessionDownloadTask)

协调一组数据传输任务,包括大型后台任务。

CreateUploadTask(NSUrlRequest)

创建上传任务。

CreateUploadTask(NSUrlRequest, NSData)

协调一组数据传输任务,包括大型后台任务。

CreateUploadTask(NSUrlRequest, NSData, NSUrlSessionResponse)

协调一组数据传输任务,包括大型后台任务。

CreateUploadTask(NSUrlRequest, NSUrl)

协调一组数据传输任务,包括大型后台任务。

CreateUploadTask(NSUrlRequest, NSUrl, NSUrlSessionResponse)

协调一组数据传输任务,包括大型后台任务。

CreateUploadTaskAsync(NSUrlRequest, NSData)

协调一组数据传输任务,包括大型后台任务。

CreateUploadTaskAsync(NSUrlRequest, NSData, NSUrlSessionUploadTask)

协调一组数据传输任务,包括大型后台任务。

CreateUploadTaskAsync(NSUrlRequest, NSUrl)

协调一组数据传输任务,包括大型后台任务。

CreateUploadTaskAsync(NSUrlRequest, NSUrl, NSUrlSessionUploadTask)

协调一组数据传输任务,包括大型后台任务。

DangerousAutorelease()

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
DangerousRelease()

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
DangerousRetain()

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
DidChange(NSKeyValueChange, NSIndexSet, NSString)

指示对多关系的索引发生了更改。

(继承自 NSObject)
DidChange(NSString, NSKeyValueSetMutationKind, NSSet)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
DidChangeValue(String)

指示对指定的键进行了更改。

(继承自 NSObject)
Dispose()

释放 NSObject 对象使用的资源。

(继承自 NSObject)
Dispose(Boolean)

释放 NSObject 对象使用的资源。

(继承自 NSObject)
DoesNotRecognizeSelector(Selector)

指示此对象无法识别指定的选择器。

(继承自 NSObject)
Equals(NSObject)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
Equals(Object)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
ExposedBindings()

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
FinishTasksAndInvalidate()

在允许完成任何未完成的任务后使对象失效。

Flush(Action)

协调一组数据传输任务,包括大型后台任务。

FlushAsync()

协调一组数据传输任务,包括大型后台任务。

FromConfiguration(NSUrlSessionConfiguration)

从指定配置创建 NSUrlSession 的工厂方法。

FromConfiguration(NSUrlSessionConfiguration, INSUrlSessionDelegate, NSOperationQueue)

协调一组数据传输任务,包括大型后台任务。

FromConfiguration(NSUrlSessionConfiguration, NSUrlSessionDelegate, NSOperationQueue)
已过时.

协调一组数据传输任务,包括大型后台任务。

FromWeakConfiguration(NSUrlSessionConfiguration, NSObject, NSOperationQueue)

协调一组数据传输任务,包括大型后台任务。

GetAllTasks(NSUrlSessionAllPendingTasks)

协调一组数据传输任务,包括大型后台任务。

GetAllTasksAsync()

协调一组数据传输任务,包括大型后台任务。

GetBindingInfo(NSString)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
GetBindingOptionDescriptions(NSString)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
GetBindingValueClass(NSString)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
GetDictionaryOfValuesFromKeys(NSString[])

检索指定键的值。

(继承自 NSObject)
GetHashCode()

为当前实例生成哈希代码。

(继承自 NSObject)
GetMethodForSelector(Selector)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
GetNativeField(String)
已过时.

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
GetNativeHash()

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
GetTasks(NSUrlSessionPendingTasks)
已过时.

请求挂起的任务组 (数据、上传和下载) 。

GetTasks2(NSUrlSessionPendingTasks2)

协调一组数据传输任务,包括大型后台任务。

GetTasks2Async()

请求挂起的任务组 (数据、上传和下载) 。

GetTasksAsync()
已过时.

请求挂起的任务组 (数据、上传和下载) 。

Init()

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
InitializeHandle(IntPtr)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
InitializeHandle(IntPtr, String)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
InvalidateAndCancel()

取消所有未完成的任务,并使会话对象失效。

Invoke(Action, Double)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
Invoke(Action, TimeSpan)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
InvokeOnMainThread(Action)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
InvokeOnMainThread(Selector, NSObject)

同步调用主 UI 线程上的指定代码。

(继承自 NSObject)
IsEqual(NSObject)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
IsKindOfClass(Class)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
IsMemberOfClass(Class)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
MarkDirty()

将常规对等对象 (IsDirectBinding 为 true) 提升为 toggleref 对象。

(继承自 NSObject)
MutableCopy()

创建指定 NSObject 的可变副本。

(继承自 NSObject)
ObjectDidEndEditing(NSObject)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
ObserveValue(NSString, NSObject, NSDictionary, IntPtr)

指示相对于此对象的指定 keyPath 处的值已更改。

(继承自 NSObject)
PerformSelector(Selector)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
PerformSelector(Selector, NSObject)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
PerformSelector(Selector, NSObject, Double)

在当前实例上调用选择器,如果 obj 不为 null,则将其作为其单个参数传递。

(继承自 NSObject)
PerformSelector(Selector, NSObject, Double, NSString[])

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
PerformSelector(Selector, NSObject, NSObject)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
PerformSelector(Selector, NSThread, NSObject, Boolean, NSString[])

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
PrepareForInterfaceBuilder()

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
RemoveObserver(NSObject, NSString)

阻止指定观察程序接收指定 keyPath 的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, NSString, IntPtr)

停止指定的观察程序接收指定 keyPath 和上下文的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, String)

阻止指定观察程序接收指定 keyPath 的更改值的进一步通知。

(继承自 NSObject)
RemoveObserver(NSObject, String, IntPtr)

停止指定的观察程序接收指定 keyPath 和上下文的更改值的进一步通知。

(继承自 NSObject)
Reset(Action)

协调一组数据传输任务,包括大型后台任务。

ResetAsync()

协调一组数据传输任务,包括大型后台任务。

RespondsToSelector(Selector)

此对象是否识别指定的选择器。

(继承自 NSObject)
SetNativeField(String, NSObject)
已过时.

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
SetNilValueForKey(NSString)

将指定键的值设置为 null。

(继承自 NSObject)
SetValueForKey(NSObject, NSString)

将键指定的属性的值设置为指定的值。

(继承自 NSObject)
SetValueForKeyPath(IntPtr, NSString)

创建非托管对象的托管表示形式时使用的构造函数;由运行时调用。

(继承自 NSObject)
SetValueForKeyPath(NSObject, NSString)

设置可以使用键路径访问的属性的值。

(继承自 NSObject)
SetValueForUndefinedKey(NSObject, NSString)

指示尝试将值写入未定义的键。 如果未重写,则引发 NSUndefinedKeyException。

(继承自 NSObject)
SetValuesForKeysWithDictionary(NSDictionary)

将此 NSObject 的值设置为指定字典中的值。

(继承自 NSObject)
ToString()

返回当前实例的值的字符串表示形式。

(继承自 NSObject)
Unbind(NSString)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
Unbind(String)
已过时.

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
ValueForKey(NSString)

返回与指定键关联的属性的值。

(继承自 NSObject)
ValueForKeyPath(NSString)

返回可以使用键路径访问的属性的值。

(继承自 NSObject)
ValueForUndefinedKey(NSString)

指示尝试读取未定义键的值。 如果未重写,则引发 NSUndefinedKeyException。

(继承自 NSObject)
WillChange(NSKeyValueChange, NSIndexSet, NSString)

指示指定键中指定索引的值即将更改。

(继承自 NSObject)
WillChange(NSString, NSKeyValueSetMutationKind, NSSet)

协调一组数据传输任务,包括大型后台任务。

(继承自 NSObject)
WillChangeValue(String)

指示指定键的值即将更改。

(继承自 NSObject)

扩展方法

ObjectDidBeginEditing(NSObject, INSEditor)

协调一组数据传输任务,包括大型后台任务。

ObjectDidEndEditing(NSObject, INSEditor)

协调一组数据传输任务,包括大型后台任务。

GetValidModes(NSObject, NSFontPanel)

协调一组数据传输任务,包括大型后台任务。

ValidateToolbarItem(NSObject, NSToolbarItem)

协调一组数据传输任务,包括大型后台任务。

GetDebugDescription(INSObjectProtocol)

协调一组数据传输任务,包括大型后台任务。

AcceptsPreviewPanelControl(NSObject, QLPreviewPanel)

协调一组数据传输任务,包括大型后台任务。

BeginPreviewPanelControl(NSObject, QLPreviewPanel)

协调一组数据传输任务,包括大型后台任务。

EndPreviewPanelControl(NSObject, QLPreviewPanel)

协调一组数据传输任务,包括大型后台任务。

GetAccessibilityCustomRotors(NSObject)

获取适用于 this 对象的 对象的数组UIAccessibilityCustomRotor

SetAccessibilityCustomRotors(NSObject, UIAccessibilityCustomRotor[])

设置适用于 this 对象的 对象数组UIAccessibilityCustomRotor

适用于

另请参阅