DtsPipelineComponentAttribute.SupportsBackPressure 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将组件标识为支持多个输入的组件,并且实现用于处理过多占用内存(如果输入以不相等的速率生成数据)的可选方法。
public:
property bool SupportsBackPressure { bool get(); void set(bool value); };
public bool SupportsBackPressure { get; set; }
member this.SupportsBackPressure : bool with get, set
Public Property SupportsBackPressure As Boolean
属性值
如果组件支持多个输入,并且如果输入以不均匀速率生成数据,则实现用于处理过多内存使用率的可选方法:否则为 false。
示例
在下面的示例中,类的 DtsPipelineComponentAttribute 实现将属性的值 SupportsBackPressure 设置为 true
。
[DtsPipelineComponent(ComponentType = ComponentType.Transform,
DisplayName = "Shuffler",
Description = "Shuffle the rows from input.",
SupportsBackPressure = true,
LocalizationType = typeof(Localized),
IconResource = "Microsoft.Samples.SqlServer.Dts.MIBPComponent.ico")
]
public class Shuffler : Microsoft.SqlServer.Dts.Pipeline.PipelineComponent
{
...
}
注解
为支持多个输入的自定义数据流组件实现更好的内存管理的第一步是将 SupportsBackPressure 属性的值设置为 T:Microsoft.SqlServer.Dts.Pipeline.DtsPipelineComponentAttribute
中的 true
。 如果值为SupportsBackPressuretrue
,数据流引擎将调用Microsoft.SqlServer.Dts.Pipeline.PipelineComponent.IsInputReady该方法,并且当有两个以上的输入时,该方法Microsoft.SqlServer.Dts.Pipeline.PipelineComponent.GetDependentInputs在运行时。
有关处理过多内存使用率的详细信息(如果自定义数据流组件的输入以不均匀的速度生成数据,请参阅使用多个输入开发数据流组件。