本文整理汇总了C#中ISettingsProvider.TryGetIntegerSetting方法的典型用法代码示例。如果您正苦于以下问题:C# ISettingsProvider.TryGetIntegerSetting方法的具体用法?C# ISettingsProvider.TryGetIntegerSetting怎么用?C# ISettingsProvider.TryGetIntegerSetting使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISettingsProvider
的用法示例。
在下文中一共展示了ISettingsProvider.TryGetIntegerSetting方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
示例2: IotHubClientSettings
public IotHubClientSettings(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.
int qos;
this.DefaultPublishToClientQoS = settingsProvider.TryGetIntegerSetting(DefaultPublishToClientQoSSetting, out qos)
? (QualityOfService)qos
: QualityOfService.AtLeastOnce;
string connectionString = settingsProvider.GetSetting(IotHubConnectionStringSetting);
if (connectionString.IndexOf("DeviceId=", StringComparison.OrdinalIgnoreCase) == -1)
{
connectionString += ";DeviceId=stub";
}
this.IotHubConnectionString = connectionString;
int retransmissionCount;
if (!settingsProvider.TryGetIntegerSetting(MaxOutboundRetransmissionCountSetting, out retransmissionCount)
|| (retransmissionCount < 0))
{
retransmissionCount = NoMaxOutboundRetransmissionCountValue;
}
this.MaxOutboundRetransmissionCount = retransmissionCount;
this.PassThroughUnmatchedMessages = settingsProvider.GetBooleanSetting(PassThroughUnmatchedMessagesSetting, false);
this.ServicePropertyPrefix = settingsProvider.GetSetting(ServicePropertyPrefixSetting, string.Empty);
}
示例3: Settings
public Settings(ISettingsProvider settingsProvider)
{
int inboundMessages;
if (!settingsProvider.TryGetIntegerSetting(MaxPendingInboundAcknowledgementsSetting, out inboundMessages) || inboundMessages <= 0)
{
inboundMessages = MaxPendingInboundAcknowledgementsDefaultValue;
}
this.MaxPendingInboundAcknowledgements = Math.Min(inboundMessages, ushort.MaxValue); // reflects packet id domain per MQTT spec.
TimeSpan timeout;
this.ConnectArrivalTimeout = settingsProvider.TryGetTimeSpanSetting(ConnectArrivalTimeoutSetting, out timeout) && timeout > TimeSpan.Zero
? (TimeSpan?)timeout
: null;
this.DefaultPublishToClientQoS = (QualityOfService)settingsProvider.GetIntegerSetting(DefaultPublishToClientQoSSetting, (int)QualityOfService.AtLeastOnce);
this.MaxKeepAliveTimeout = settingsProvider.TryGetTimeSpanSetting(MaxKeepAliveTimeoutSetting, out timeout)
? timeout
: (TimeSpan?)null;
this.RetainPropertyName = settingsProvider.GetSetting(RetainPropertyNameSetting, RetainPropertyNameDefaultValue);
this.DupPropertyName = settingsProvider.GetSetting(DupPropertyNameSetting, DupPropertyNameDefaultValue);
this.QoSPropertyName = settingsProvider.GetSetting(QoSPropertyNameSetting, QoSPropertyNameDefaultValue);
this.deviceReceiveAckTimeout = settingsProvider.TryGetTimeSpanSetting(DeviceReceiveAckTimeoutSetting, out timeout) && timeout > TimeSpan.Zero
? timeout
: (TimeSpan?)null;
int retransmissionCount;
if (!settingsProvider.TryGetIntegerSetting(MaxOutboundRetransmissionCountSetting, out retransmissionCount)
|| (retransmissionCount < 0))
{
retransmissionCount = NoMaxOutboundRetransmissionCountValue;
}
this.MaxOutboundRetransmissionCount = retransmissionCount;
this.ServicePropertyPrefix = settingsProvider.GetSetting(ServicePropertyPrefixSetting, string.Empty);
}