Exemple #1
0
        /// <summary>
        /// 本接口(DeleteMachine)用于卸载云镜客户端。
        /// </summary>
        /// <param name="req">参考<see cref="DeleteMachineRequest"/></param>
        /// <returns>参考<see cref="DeleteMachineResponse"/>实例</returns>
        public async Task <DeleteMachineResponse> DeleteMachine(DeleteMachineRequest req)
        {
            JsonResponseModel <DeleteMachineResponse> rsp = null;

            try
            {
                var strResp = await this.InternalRequest(req, "DeleteMachine");

                rsp = JsonConvert.DeserializeObject <JsonResponseModel <DeleteMachineResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
Exemple #2
0
        public async UnaryResult <Nil> DeleteMachineAsync(DeleteMachineRequest request)
        {
            var genericTypes = GetGenericsFromHeaders();

            (var stateType, var inputType) = GetGenericTupleFromHeaderArray(genericTypes);

            var deleteMachineAsync = (DeleteMachineAsyncDelegate)DelegateCache
                                     .GetOrAdd(
                key: (nameof(DeleteMachineAsync), stateType, inputType, NoPayloadType),
                valueFactory: tuple =>
            {
                var machineIdParameter         = Expression.Parameter(typeof(string), "machineId");
                var cancellationTokenParameter = Expression.Parameter(typeof(CancellationToken), "cancellationToken");

                return(Expression.Lambda <DeleteMachineAsyncDelegate>(
                           body: Expression.Call(
                               instance: Expression.Constant(LocalAdapter, LocalAdapter.GetType()),
                               methodName: nameof(DeleteMachineAsync),
                               typeArguments: genericTypes,
                               arguments: new Expression[]
                {
                    machineIdParameter,
                    cancellationTokenParameter
                }),
                           parameters: new[]
                {
                    machineIdParameter,
                    cancellationTokenParameter
                })
                       .Compile());
            });

            await deleteMachineAsync(request.MachineId, GetCallCancellationToken());

            return(Nil.Default);
        }