internal string GetMainScript(IPackageObject package) { var content = package.GetContentFiles() .Where(f => f.EndsWith("main.csx", StringComparison.InvariantCultureIgnoreCase)).ToArray(); string script = null; var count = content.Length; if (count == 1) { script = content[0]; } else if (content.Count() > 1) { _logger.WarnFormat("Script Libraries in '{0}' ignored due to multiple Main files being present", package.FullName); return(null); } if (script != null) { _logger.DebugFormat("Found main script: {0}", script); } return(script); }
internal string GetMainScript(IPackageObject package) { var content = package.GetContentFiles() .Where(f => f.EndsWith("main.csx", StringComparison.InvariantCultureIgnoreCase)).ToArray(); string script = null; var count = content.Length; if (count == 1) { script = content[0]; } else if (content.Count() > 1) { _logger.WarnFormat("Script Libraries in '{0}' ignored due to multiple Main files being present", package.FullName); return null; } if (script != null) { _logger.DebugFormat("Found main script: {0}", script); } return script; }
/// <summary> /// Put方式执行Http请求 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="client"></param> /// <param name="requestUri"></param> /// <param name="content"></param> /// <param name="headers">头信息</param> /// <param name="cancellationToken"></param> /// <returns></returns> public static Task <T> PutPackageAsync <T>(this HttpClient client, string requestUri, HttpContent content, IDictionary <string, string> headers = null, CancellationToken cancellationToken = default(CancellationToken)) where T : class { TaskCompletionSource <T> tcs = new TaskCompletionSource <T>(); if (headers != null && headers.Count > 0) { foreach (KeyValuePair <string, string> item in headers) { if (client.DefaultRequestHeaders.Contains(item.Key)) { client.DefaultRequestHeaders.Remove(item.Key); } client.DefaultRequestHeaders.Add(item.Key, item.Value); } } client.PutAsync(requestUri, content).ContinueWith((requestTask) => { if (TaskHelper.HandleFaultsAndCancelation(requestTask, tcs, cancellationToken)) { return; } try { HttpResponseMessage result = requestTask.Result; if (result.IsSuccessStatusCode) { result.Content.ReadAsStringAsync().ContinueWith((resultTask) => { try { string text = resultTask.Result; if (TaskHelper.HandleFaultsAndCancelation(resultTask, tcs, cancellationToken)) { return; } IPackageObject <T> packageObject = JsonSerializer.Deserialize <IPackageObject <T> >(text); if (packageObject.StatusCode == 2000) { tcs.SetResult(packageObject.Body); } else { tcs.SetException(new Exceptions.StatusCodeException(packageObject.StatusCode, packageObject.Notification)); } } catch (Exception deserializeException) { tcs.SetException(deserializeException); } }); } else { tcs.SetException(new HttpRequestException(result.ReasonPhrase)); } } catch (Exception ex) { tcs.SetException(ex); } }); return(tcs.Task); }