コード例 #1
0
        public override RemoteResult ExecuteNonQuery(SqlCommand command)
        {
            RemoteResult ret = null;

            using (var element = RentConnection())
            {
                command.Connection = element.Element;
                try
                {
                    command.ExecuteNonQuery();
                    ret = new SuccessResult();
                }
                catch (SqlException e)
                {
                    Logger.Logger.Instance.Error(e, "");
                    ret = new FailNetResult(e.Message);
                }
                catch (IOException e)
                {
                    Logger.Logger.Instance.Error(e, "");
                    ret = new FailNetResult(e.Message);
                }
                catch (InvalidOperationException e)
                {
                    Logger.Logger.Instance.Error(e, "");
                    ret = new FailNetResult(e.Message);
                }
            }

            return(ret);
        }
コード例 #2
0
        public RemoteResult SayIAmHere(ServerId destination)
        {
            if (!_net.ConnectToDistributor(destination))
            {
                return(new ServerNotAvailable(destination));
            }

            _distributorSystemModel.AddServer(destination);

            var ret = _net.SendDistributor(destination, new TakeInfoCommand());

            if (ret is SystemInfoResult)
            {
                var data = ret as SystemInfoResult;
                AddNewDistributorList(data.DataContainer.AllDistributors);
            }
            else
            {
                ret = new FailNetResult(Errors.InnerServerError);
            }

            return(ret);
        }