本文整理汇总了C#中ISettingsProvider.TryGetSetting方法的典型用法代码示例。如果您正苦于以下问题:C# ISettingsProvider.TryGetSetting方法的具体用法?C# ISettingsProvider.TryGetSetting怎么用?C# ISettingsProvider.TryGetSetting使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISettingsProvider
的用法示例。
在下文中一共展示了ISettingsProvider.TryGetSetting方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Settings
public Settings(ISettingsProvider settingsProvider)
{
int inboundMessages;
if (!settingsProvider.TryGetIntegerSetting(MaxPendingInboundMessagesSetting, out inboundMessages) || inboundMessages <= 0)
{
inboundMessages = MaxPendingInboundMessagesDefaultValue;
}
this.MaxPendingInboundMessages = Math.Min(inboundMessages, ushort.MaxValue); // reflects packet id domain per MQTT spec.
int outboundMessages;
if (!settingsProvider.TryGetIntegerSetting(MaxPendingOutboundMessagesSetting, out outboundMessages) || outboundMessages <= 0)
{
outboundMessages = MaxPendingOutboundMessagesDefaultValue;
}
this.MaxPendingOutboundMessages = Math.Min(outboundMessages, ushort.MaxValue / 2); // limited due to separation of packet id domains for QoS 1 and 2.
TimeSpan timeout;
this.ConnectArrivalTimeout = settingsProvider.TryGetTimeSpanSetting(ConnectArrivalTimeoutSetting, out timeout) && timeout > TimeSpan.Zero
? (TimeSpan?)timeout
: null;
int qos;
this.DefaultPublishToClientQoS = settingsProvider.TryGetIntegerSetting(DefaultPublishToClientQoSSetting, out qos)
? (QualityOfService)qos
: QualityOfService.AtLeastOnce;
this.IotHubConnectionString = settingsProvider.GetSetting(IotHubConnectionStringSetting);
this.MaxKeepAliveTimeout = settingsProvider.TryGetTimeSpanSetting(MaxKeepAliveTimeoutSetting, out timeout)
? timeout
: (TimeSpan?)null;
if (!settingsProvider.TryGetSetting(RetainPropertyNameSetting, out this.retainPropertyName))
{
this.retainPropertyName = RetainPropertyNameDefaultValue;
}
if (!settingsProvider.TryGetSetting(DupPropertyNameSetting, out this.dupPropertyName))
{
this.dupPropertyName = DupPropertyNameDefaultValue;
}
if (!settingsProvider.TryGetSetting(QoSPropertyNameSetting, out this.qosPropertyName))
{
this.qosPropertyName = QoSPropertyNameDefaultValue;
}
this.deviceReceiveAckTimeout = settingsProvider.TryGetTimeSpanSetting(DeviceReceiveAckTimeoutSetting, out timeout) && timeout > TimeSpan.Zero
? timeout
: (TimeSpan?)null;
int retransmissionCount;
if (!settingsProvider.TryGetIntegerSetting(MaxOutboundRetransmissionCountSetting, out retransmissionCount) || retransmissionCount < MaxOutboundRetransmissionCountDefaultValue)
{
retransmissionCount = MaxOutboundRetransmissionCountDefaultValue;
}
this.MaxOutboundRetransmissionCount = retransmissionCount;
}