コード例 #1
0
        /// <summary>
        /// Unsubscribes from SolarEdgeFullData updates.
        /// </summary>
        public void UnsubscribeFromSolarEdgeFullDataUpdates()
        {
            ISolarEdgeDataServerEvents callbackChannel = OperationContext.Current.GetCallbackChannel <ISolarEdgeDataServerEvents>();

            try
            {
                lock (_sycnRoot)
                {
                    if (_FullUpdateCallbackChannels.Remove(callbackChannel))
                    {
                        log.DebugFormat("Removed Callback Channel for full data updates: {0}", callbackChannel.GetHashCode());
                    }
                }
            }
            catch
            {
            }
        }
コード例 #2
0
        /// <summary>
        /// Subscribes for SolarEdgeFullData updates.
        /// </summary>
        public void SubscribeForSolarEdgeFullDataUpdates()
        {
            try
            {
                ISolarEdgeDataServerEvents callbackChannel = OperationContext.Current.GetCallbackChannel <ISolarEdgeDataServerEvents>();

                lock (_sycnRoot)
                {
                    if (!_FullUpdateCallbackChannels.Contains(callbackChannel))
                    {
                        _FullUpdateCallbackChannels.Add(callbackChannel);

                        log.DebugFormat("Added Callback Channel for full data updates: {0}", callbackChannel.GetHashCode());
                    }
                }
            }
            catch
            {
            }
        }