void svc_LogBatchCompleted(object sender, ServiceReference1.LogBatchCompletedEventArgs e)
        {
            if (e.Error == null)
            {
                // success!
                var result = new LogBatchResult()
                {
                    IsEnabled            = true,
                    QueuePollingInterval = null,
                    ServerTime           = e.Result
                };

                if (LogBatchCompleted != null)
                {
                    LogBatchCompleted(this, new Microsoft.SilverlightMediaFramework.Logging.LogBatchCompletedEventArgs(result, e.UserState as Batch));
                }
            }
            else
            {
                // error
                if (LogBatchCompleted != null)
                {
                    LogBatchCompleted(this, new Microsoft.SilverlightMediaFramework.Logging.LogBatchCompletedEventArgs(e.Error, e.UserState as Batch));
                }
            }
        }
        LogBatchResult CreateLogBatchResult(Dictionary<string, string> responseHeaders)
        {
            LogBatchResult result = new LogBatchResult();

            if (responseHeaders.Keys.Contains("LoggingEnabled"))
                result.IsEnabled = Convert.ToInt32(responseHeaders["LoggingEnabled"]) != 0 ;

            if (responseHeaders.Keys.Contains("QueuePollingIntervalSeconds"))
                result.QueuePollingInterval = TimeSpan.FromSeconds(Convert.ToDouble(responseHeaders["QueuePollingIntervalSeconds"]));

            if (responseHeaders.Keys.Contains("ServerTime"))
                result.ServerTime = new DateTimeOffset(Convert.ToInt64(responseHeaders["ServerTime"]), TimeSpan.Zero);

            return result;
        }