void _client_LicenseUrlCompleted(object sender, LicenseServiceReference.LicenseUrlCompletedEventArgs e)
        {
            if (e.Error == null && !string.IsNullOrEmpty(e.Result))
            {
                Url = e.Result;
                
                txtAddress.Text = Url.ToString();
                userName = txtUserName.Text;
                userData.Clear();
                userData.Add(LicenseHubConnection.userNameParam, userName);
                userData.Add(LicenseHubConnection.companyParam, company);
                userData.Add(LicenseHubConnection.projectTypeParam, projectType);
                userData.Add(LicenseHubConnection.extensionV1Param, "");
                userData.Add(LicenseHubConnection.extensionV2Param, "");
                userData.Add(LicenseHubConnection.userRole, "0");  // Client 들은 Role을 0으로 맞춘다.

                licenseClient = new LicenseHubConnection(Url, userData);
                licenseClient.StateChanged += licenseClient_StateChanged;
                licenseClient.licenseChange += licenseClient_licenseChange;
                licenseClient.Error += licenseClient_Error;
                licenseClient.Closed += licenseClient_Closed;
                licenseClient.Received += licenseClient_Received;
                licenseClient.ConnectionSlow += licenseClient_ConnectionSlow;
                licenseClient.proxy = licenseClient.CreateHubProxy(LicenseHubConnection.hubName);
                licenseClient.SetProxyMethod();
                licenseClient.HubStart();
            }
        }
        void _client_IsConnectionStopCompleted(object sender, LicenseServiceReference.IsConnectionStopCompletedEventArgs e)
        {
            try
            {
                if (e.Error == null && e.Result != null)
                {
                    if (e.Result)
                    {
                        Dispatcher.BeginInvoke(() =>
                        {
                            txtEventContent.Text += e.Result.ToString();

                            
                            txtEventContent.Text += "Hub를 멈춥니다.";
                        });

                        licenseClient.HubStop();
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex);   
            }
            finally
            {
                IsConnectionNotice = true;
            }
        }
        void _client_IsConnectionStopCompleted(object sender, LicenseServiceReference.IsConnectionStopCompletedEventArgs e)
        {
            if (e.Error == null && e.Result != null)
            {
                if (e.Result)
                {
                    Dispatcher.BeginInvoke(() =>
                    {
                        txtContent.Text += e.Result.ToString();

                        txtContent.Text += "Hub를 멈춥니다.";
                    });

                    licenseClient.HubStop();
                }
            }
        }