public void KV_Put_Get_Delete() { var client = new Client(); var kv = client.KV; var key = GenerateTestKeyName(); var value = Encoding.UTF8.GetBytes("test"); var getRequest = kv.Get(key); Assert.IsNull(getRequest.Response); var pair = new KVPair(key) { Flags = 42, Value = value }; var putRequest = kv.Put(pair); Assert.IsTrue(putRequest.Response); getRequest = kv.Get(key); var res = getRequest.Response; Assert.IsNotNull(res); Assert.IsTrue(StructuralComparisons.StructuralEqualityComparer.Equals(value, res.Value)); Assert.AreEqual(pair.Flags, res.Flags); Assert.IsTrue(getRequest.LastIndex > 0); var del = kv.Delete(key); Assert.IsTrue(del.Response); getRequest = kv.Get(key); Assert.IsNull(getRequest.Response); }
public async Task KV_Put_Get_Delete() { var client = new ConsulClient(); var kv = client.KV; var key = GenerateTestKeyName(); var value = Encoding.UTF8.GetBytes("test"); var getRequest = await kv.Get(key); Assert.Equal(System.Net.HttpStatusCode.NotFound, getRequest.StatusCode); Assert.Null(getRequest.Response); var pair = new KVPair(key) { Flags = 42, Value = value }; var putRequest = await kv.Put(pair); Assert.Equal(System.Net.HttpStatusCode.OK, putRequest.StatusCode); Assert.True(putRequest.Response); try { // Put a key that begins with a '/' var invalidKey = new KVPair("/test") { Flags = 42, Value = value }; await kv.Put(invalidKey); Assert.True(false, "Invalid key not detected"); } catch (InvalidKeyPairException ex) { Assert.IsType<InvalidKeyPairException>(ex); } getRequest = await kv.Get(key); Assert.Equal(System.Net.HttpStatusCode.OK, getRequest.StatusCode); var res = getRequest.Response; Assert.NotNull(res); Assert.True(StructuralComparisons.StructuralEqualityComparer.Equals(value, res.Value)); Assert.Equal(pair.Flags, res.Flags); Assert.True(getRequest.LastIndex > 0); var del = await kv.Delete(key); Assert.True(del.Response); getRequest = await kv.Get(key); Assert.Null(getRequest.Response); }
public void KV_AcquireRelease() { var c = ClientTest.MakeClient(); var s = c.Session; var sesRes = s.CreateNoChecks(new SessionEntry()); var id = sesRes.Response; Assert.IsFalse(string.IsNullOrEmpty(sesRes.Response)); var kv = c.KV; var key = TestKey(); var value = Encoding.UTF8.GetBytes("test"); var pair = new KVPair(key) { Value = value, Session = id }; var g = kv.Acquire(pair); Assert.IsTrue(g.Response); var res = kv.Get(key); Assert.IsNotNull(res.Response); Assert.AreEqual(id, res.Response.Session); Assert.AreEqual(res.Response.LockIndex, (ulong)1); Assert.IsTrue(res.LastIndex > 0); g = kv.Release(pair); Assert.IsTrue(g.Response); res = kv.Get(key); Assert.IsNotNull(res.Response); Assert.AreEqual(null, res.Response.Session); Assert.AreEqual(res.Response.LockIndex, (ulong)1); Assert.IsTrue(res.LastIndex > 0); var sesDesRes = s.Destroy(id); Assert.IsTrue(sesDesRes.Response); var del = kv.Delete(key); Assert.IsTrue(del.Response); }
internal static ConsulSiloRegistration FromKVPairs(String deploymentId, KVPair siloKV, KVPair iAmAliveKV) { var ret = JsonConvert.DeserializeObject <ConsulSiloRegistration>(Encoding.UTF8.GetString(siloKV.Value)); var keyParts = siloKV.Key.Split(KeySeparator); ret.Address = SiloAddress.FromParsableString(keyParts.Last()); ret.DeploymentId = deploymentId; ret.LastIndex = siloKV.ModifyIndex; if (iAmAliveKV == null) { ret.IAmAliveTime = ret.StartTime; } else { ret.IAmAliveTime = JsonConvert.DeserializeObject <DateTime>(Encoding.UTF8.GetString(iAmAliveKV.Value)); } return(ret); }
private void ShouldReturnTrueIfKVPairIsLeafWithNonEmptyArrayValue(KVPair kvPair, bool expected) { var hasValue = kvPair.HasValue(); hasValue.Should().Be(expected); }
internal static bool HasValue(this KVPair kvPair) { return(kvPair.IsLeafNode() && kvPair.Value != null && kvPair.Value.Any()); }
public ConsulEntry(string key, TValue value, KVPair original) { Key = key; Value = value; Original = original; }
public void KV_AcquireRelease() { var client = new Client(); var sessionRequest = client.Session.CreateNoChecks(new SessionEntry()); var id = sessionRequest.Response; Assert.IsFalse(string.IsNullOrEmpty(sessionRequest.Response)); var key = GenerateTestKeyName(); var value = Encoding.UTF8.GetBytes("test"); var pair = new KVPair(key) { Value = value, Session = id }; var acquireRequest = client.KV.Acquire(pair); Assert.IsTrue(acquireRequest.Response); var getRequest = client.KV.Get(key); Assert.IsNotNull(getRequest.Response); Assert.AreEqual(id, getRequest.Response.Session); Assert.AreEqual(getRequest.Response.LockIndex, (ulong)1); Assert.IsTrue(getRequest.LastIndex > 0); acquireRequest = client.KV.Release(pair); Assert.IsTrue(acquireRequest.Response); getRequest = client.KV.Get(key); Assert.IsNotNull(getRequest.Response); Assert.AreEqual(null, getRequest.Response.Session); Assert.AreEqual(getRequest.Response.LockIndex, (ulong)1); Assert.IsTrue(getRequest.LastIndex > 0); var sessionDestroyRequest = client.Session.Destroy(id); Assert.IsTrue(sessionDestroyRequest.Response); var deleteRequest = client.KV.Delete(key); Assert.IsTrue(deleteRequest.Response); }
public void KV_List_DeleteRecurse() { var client = new Client(); var prefix = GenerateTestKeyName(); var putTasks = new Task[100]; var value = Encoding.UTF8.GetBytes("test"); for (var i = 0; i < 100; i++) { var p = new KVPair(string.Join("/", prefix, GenerateTestKeyName())) { Value = value }; putTasks[i] = Task.Run(() => client.KV.Put(p)); } Task.WaitAll(putTasks); var pairs = client.KV.List(prefix); Assert.IsNotNull(pairs.Response); Assert.AreEqual(pairs.Response.Length, putTasks.Length); foreach (var pair in pairs.Response) { Assert.IsTrue(StructuralComparisons.StructuralEqualityComparer.Equals(value, pair.Value)); } Assert.IsFalse(pairs.LastIndex == 0); client.KV.DeleteTree(prefix); pairs = client.KV.List(prefix); Assert.IsNull(pairs.Response); }
private static string TheKey(KVPair pair) => pair.Key;
public void KV_WatchList() { var client = new Client(); var prefix = GenerateTestKeyName(); var value = Encoding.UTF8.GetBytes("test"); var pairs = client.KV.List(prefix); Assert.IsNull(pairs.Response); Task.Run(() => { Thread.Sleep(100); var p = new KVPair(prefix) { Flags = 42, Value = value }; var putRes = client.KV.Put(p); Assert.IsTrue(putRes.Response); }); var pairs2 = client.KV.List(prefix, new QueryOptions() { WaitIndex = pairs.LastIndex }); Assert.IsNotNull(pairs2.Response); Assert.AreEqual(pairs2.Response.Length, 1); Assert.IsTrue(StructuralComparisons.StructuralEqualityComparer.Equals(value, pairs2.Response[0].Value)); Assert.AreEqual(pairs2.Response[0].Flags, (ulong)42); Assert.IsTrue(pairs2.LastIndex > pairs.LastIndex); var deleteTree = client.KV.DeleteTree(prefix); Assert.IsTrue(deleteTree.Response); }
public void KV_WatchGet() { var c = ClientTest.MakeClient(); var kv = c.KV; var key = TestKey(); var value = Encoding.UTF8.GetBytes("test"); var g = kv.Get(key); Assert.IsNull(g.Response); var pair = new KVPair(key) { Flags = 42, Value = value }; Task.Run(() => { Task.Delay(1100).Wait(); var p = new KVPair(key) { Flags = 42, Value = value }; var putRes = kv.Put(p); Assert.IsTrue(putRes.Response); }); var g2 = kv.Get(key, new QueryOptions() { WaitIndex = g.LastIndex }); var res = g2.Response; Assert.IsNotNull(res); Assert.IsTrue(StructuralComparisons.StructuralEqualityComparer.Equals(value, res.Value)); Assert.AreEqual(pair.Flags, res.Flags); Assert.IsTrue(g2.LastIndex > 0); var del = kv.Delete(key); Assert.IsTrue(del.Response); g = kv.Get(key); Assert.IsNull(g.Response); }
public async Task <bool> KVReleaseAsync(KVPair p) { var result = await _consulClient.KV.Release(p); return(result.Response); }
public void KV_Put_Get_Delete() { var c = ClientTest.MakeClient(); var kv = c.KV; var key = TestKey(); var value = Encoding.UTF8.GetBytes("test"); var g = kv.Get(key); Assert.IsNull(g.Response); var pair = new KVPair(key) { Flags = 42, Value = value }; var p = kv.Put(pair); Assert.IsTrue(p.Response); g = kv.Get(key); var res = g.Response; Assert.IsNotNull(res); Assert.IsTrue(StructuralComparisons.StructuralEqualityComparer.Equals(value, res.Value)); Assert.AreEqual(pair.Flags, res.Flags); Assert.IsTrue(g.LastIndex > 0); var del = kv.Delete(key); Assert.IsTrue(del.Response); g = kv.Get(key); Assert.IsNull(g.Response); }
public void KV_Keys_DeleteRecurse() { var c = ClientTest.MakeClient(); var kv = c.KV; var prefix = TestKey(); var putTasks = new Task[100]; var value = Encoding.UTF8.GetBytes("test"); for (var i = 0; i < 100; i++) { var p = new KVPair(string.Join("/", prefix, TestKey())) { Value = value }; putTasks[i] = Task.Run(() => kv.Put(p)); } Task.WaitAll(putTasks); var pairs = kv.Keys(prefix, ""); Assert.IsNotNull(pairs.Response); Assert.AreEqual(pairs.Response.Length, putTasks.Length); Assert.IsFalse(pairs.LastIndex == 0); var deleteTree = kv.DeleteTree(prefix); pairs = kv.Keys(prefix, ""); Assert.IsNull(pairs.Response); }
/// <summary> /// Allocates a new ID from Consul. /// </summary> /// <returns>A task object for the operation with the ID allocated.</returns> private async Task <ushort> AllocateID() { for (int attempt = 0; attempt < 10; attempt++) { Logger.Trace("Allocating a new ID on Consul, attempt: " + (attempt + 1)); QueryResult <KVPair> result = await client.KV.Get("darkrift-2/next-id"); KVPair kvPair = result.Response; if (kvPair != null) { bool valid = ushort.TryParse(Encoding.UTF8.GetString(kvPair.Value, 0, kvPair.Value.Length), out ushort id); if (!valid) { throw new InvalidOperationException("Failed to allocate ID as the stored next ID is not a valid ushort."); } kvPair.Value = Encoding.UTF8.GetBytes((id + 1).ToString()); WriteResult <bool> casResult; try { casResult = await client.KV.CAS(kvPair); } catch (Exception e) { Logger.Error("Failed to perform CAS operation on Consul while updating ID field.", e); throw e; } if (casResult.Response) { return(id); } } else { // First in the cluster, we need to create the next-id field! kvPair = new KVPair("darkrift-2/next-id") { Value = Encoding.UTF8.GetBytes("1") }; WriteResult <bool> casResult; try { casResult = await client.KV.CAS(kvPair); } catch (Exception e) { Logger.Error("Failed to perform CAS operation on Consul while creating ID field.", e); throw e; } if (casResult.Response) { return(0); } } } Logger.Error("Failed to allocate ID from Consul as the operation exceeded the maximum number of allowed attempts (10)."); throw new InvalidOperationException("Failed to allocate ID from Consul as the operation exceeded the maximum number of allowed attempts (10)."); }
private void LoadData() { txtSearch.Text = Session["PUBENT_SearchKeyword"].ToString(); //NCIPLCC ddlTOC.DataSource = KVPair.GetKVPair("sp_NCIPL_getCancerTypes"); ddlTOC.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getCancerTypes"); ddlTOC.DataTextField = "val"; ddlTOC.DataValueField = "key"; ddlTOC.DataBind(); ddlTOC.Items.Insert(0, new ListItem("All Types", "-99")); if (Session["PUBENT_TypeOfCancer"].ToString().Length > 0) { int Cntr = 0; foreach (ListItem li in ddlTOC.Items) { if (string.Compare(li.Value, Session["PUBENT_TypeOfCancer"].ToString()) == 0) { ddlTOC.SelectedIndex = Cntr; break; } Cntr++; } } //NCIPLCC ddlCT.DataSource = KVPair.GetKVPair("sp_NCIPL_getSubjects"); ddlCT.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getSubjects"); ddlCT.DataTextField = "val"; ddlCT.DataValueField = "key"; ddlCT.DataBind(); ddlCT.Items.Insert(0, new ListItem("All Cancer Topics", "-99")); if (Session["PUBENT_Subject"].ToString().Length > 0) { int Cntr = 0; foreach (ListItem li in ddlCT.Items) { if (string.Compare(li.Value, Session["PUBENT_Subject"].ToString()) == 0) { ddlCT.SelectedIndex = Cntr; break; } Cntr++; } } //NCIPLCC ddlAud.DataSource = KVPair.GetKVPair("sp_NCIPL_getAudience"); ddlAud.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getAudience"); ddlAud.DataTextField = "val"; ddlAud.DataValueField = "key"; ddlAud.DataBind(); ddlAud.Items.Insert(0, new ListItem("All Audiences", "-99")); if (Session["PUBENT_Audience"].ToString().Length > 0) { int Cntr = 0; foreach (ListItem li in ddlAud.Items) { if (string.Compare(li.Value, Session["PUBENT_Audience"].ToString()) == 0) { ddlAud.SelectedIndex = Cntr; break; } Cntr++; } } //NCIPLCC ddlLan.DataSource = KVPair.GetKVPair("sp_NCIPL_getLanguages"); ddlLan.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getLanguages"); ddlLan.DataTextField = "val"; ddlLan.DataValueField = "key"; ddlLan.DataBind(); ddlLan.Items.Insert(0, new ListItem("All Languages", "-99")); if (Session["PUBENT_Language"].ToString().Length > 0) { int Cntr = 0; foreach (ListItem li in ddlLan.Items) { if (string.Compare(li.Value, Session["PUBENT_Language"].ToString()) == 0) { ddlLan.SelectedIndex = Cntr; break; } Cntr++; } } //NCIPLCC ddlForm.DataSource = KVPair.GetKVPair("sp_NCIPL_getProductFormats"); ddlForm.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getProductFormats"); ddlForm.DataTextField = "val"; ddlForm.DataValueField = "key"; ddlForm.DataBind(); ddlForm.Items.Insert(0, new ListItem("All Formats", "-99")); if (Session["PUBENT_ProductFormat"].ToString().Length > 0) { int Cntr = 0; foreach (ListItem li in ddlForm.Items) { if (string.Compare(li.Value, Session["PUBENT_ProductFormat"].ToString()) == 0) { ddlForm.SelectedIndex = Cntr; break; } Cntr++; } } //NCIPLCC ddlColl.DataSource = KVPair.GetKVPair("sp_NCIPL_getCollections"); ddlColl.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getCollections"); ddlColl.DataTextField = "val"; ddlColl.DataValueField = "key"; ddlColl.DataBind(); ddlColl.Items.Insert(0, new ListItem("All Collections", "-99")); if (Session["PUBENT_Series"].ToString().Length > 0) { int Cntr = 0; foreach (ListItem li in ddlColl.Items) { if (string.Compare(li.Value, Session["PUBENT_Series"].ToString()) == 0) { ddlColl.SelectedIndex = Cntr; break; } Cntr++; } } }
private void Page_Load(object sender, System.EventArgs e) { if (!Page.IsPostBack) { Session["PUBENT_SearchKeyword"] = ""; Session["PUBENT_TypeOfCancer"] = ""; Session["PUBENT_Subject"] = ""; Session["PUBENT_Audience"] = ""; Session["PUBENT_Language"] = ""; Session["PUBENT_ProductFormat"] = ""; Session["PUBENT_StartsWith"] = ""; Session["PUBENT_Series"] = ""; Session["PUBENT_NewOrUpdated"] = ""; Session["PUBENT_Race"] = ""; if (Request.QueryString["cantype"] != null) { Session["PUBENT_TypeOfCancer"] = Request.QueryString["cantype"]; } else if (Request.QueryString["subj"] != null) { Session["PUBENT_Subject"] = Request.QueryString["subj"]; } else if (Request.QueryString["aud"] != null) { Session["PUBENT_Audience"] = Request.QueryString["aud"]; } else if (Request.QueryString["lang"] != null) { Session["PUBENT_Language"] = Request.QueryString["lang"]; } else if (Request.QueryString["form"] != null) { Session["PUBENT_ProductFormat"] = Request.QueryString["form"]; } else if (Request.QueryString["starts"] != null) { Session["PUBENT_StartsWith"] = Request.QueryString["starts"]; } else if (Request.QueryString["coll"] != null) { Session["PUBENT_Series"] = Request.QueryString["coll"]; } else if (Request.QueryString["newupt"] != null) { Session["PUBENT_NewOrUpdated"] = Request.QueryString["newupt"]; } else if (Request.QueryString["race"] != null) { Session["PUBENT_Race"] = Request.QueryString["race"]; } //Begin - Code to show search criteria on search results Session["PUBENT_Criteria"] = ""; string SearchCriteria = ""; GlobalUtils.Utils.InitializeCriteriaTextSessionVariables(); //CR-31 HITT 7074 if (Session["PUBENT_TypeOfCancer"].ToString().Length > 0) { KVPairCollection collCancerTypes = KVPair.GetKVPair("sp_NCIPL_getCancerTypes"); foreach (KVPair kvItem in collCancerTypes) { if (string.Compare(kvItem.Key, Session["PUBENT_TypeOfCancer"].ToString(), true) == 0) { if (SearchCriteria.Length == 0) { SearchCriteria = kvItem.Val; } else { SearchCriteria = SearchCriteria + ", " + kvItem.Val; } GlobalUtils.Utils.SetCriteriaText("TypeOfCancer", kvItem.Val); //HITT 7074 CR-31 } } } if (Session["PUBENT_Subject"].ToString().Length > 0) { KVPairCollection collSubjects = KVPair.GetKVPair("sp_NCIPL_getSubjects"); foreach (KVPair kvItem in collSubjects) { if (string.Compare(kvItem.Key, Session["PUBENT_Subject"].ToString(), true) == 0) { if (SearchCriteria.Length == 0) { SearchCriteria = kvItem.Val; } else { SearchCriteria = SearchCriteria + ", " + kvItem.Val; } GlobalUtils.Utils.SetCriteriaText("Subject", kvItem.Val); //HITT 7074 CR-31 } } } if (Session["PUBENT_ProductFormat"].ToString().Length > 0) { KVPairCollection collProdFormats = KVPair.GetKVPair("sp_NCIPL_getProductFormats"); foreach (KVPair kvItem in collProdFormats) { if (string.Compare(kvItem.Key, Session["PUBENT_ProductFormat"].ToString(), true) == 0) { if (SearchCriteria.Length == 0) { SearchCriteria = kvItem.Val; } else { SearchCriteria = SearchCriteria + ", " + kvItem.Val; } GlobalUtils.Utils.SetCriteriaText("ProductFormat", kvItem.Val); //HITT 7074 CR-31 } } } if (Session["PUBENT_Series"].ToString().Length > 0) { KVPairCollection collSeries = KVPair.GetKVPair("sp_NCIPL_getCollections"); foreach (KVPair kvItem in collSeries) { if (string.Compare(kvItem.Key, Session["PUBENT_Series"].ToString(), true) == 0) { if (SearchCriteria.Length == 0) { SearchCriteria = kvItem.Val; } else { SearchCriteria = SearchCriteria + ", " + kvItem.Val; } GlobalUtils.Utils.SetCriteriaText("Series", kvItem.Val); //HITT 7074 CR-31 } } } if (Session["PUBENT_NewOrUpdated"].ToString().Length > 0) { KVPairCollection collProdUpdates = KVPair.GetKVPair("sp_NCIPL_getProductUpdates"); foreach (KVPair kvItem in collProdUpdates) { if (string.Compare(kvItem.Key, Session["PUBENT_NewOrUpdated"].ToString(), true) == 0) { if (SearchCriteria.Length == 0) { SearchCriteria = kvItem.Val; } else { SearchCriteria = SearchCriteria + ", " + kvItem.Val; } GlobalUtils.Utils.SetCriteriaText("NewOrUpdated", kvItem.Val); //HITT 7074 CR-31 } } } if (Session["PUBENT_Language"].ToString().Length > 0) { KVPairCollection collLanguages = KVPair.GetKVPair("sp_NCIPL_getLanguages"); foreach (KVPair kvItem in collLanguages) { if (string.Compare(kvItem.Key, Session["PUBENT_Language"].ToString(), true) == 0) { if (SearchCriteria.Length == 0) { SearchCriteria = kvItem.Val; } else { SearchCriteria = SearchCriteria + ", " + kvItem.Val; } GlobalUtils.Utils.SetCriteriaText("Language", kvItem.Val); //HITT 7074 CR-31 } } } if (Session["PUBENT_Audience"].ToString().Length > 0) { KVPairCollection collAudience = KVPair.GetKVPair("sp_NCIPL_getAudience"); foreach (KVPair kvItem in collAudience) { if (string.Compare(kvItem.Key, Session["PUBENT_Audience"].ToString(), true) == 0) { if (SearchCriteria.Length == 0) { SearchCriteria = kvItem.Val; } else { SearchCriteria = SearchCriteria + ", " + kvItem.Val; } GlobalUtils.Utils.SetCriteriaText("Audience", kvItem.Val); //HITT 7074 CR-31 } } } if (Session["PUBENT_StartsWith"].ToString().Length > 0) { if (SearchCriteria.Length == 0) { SearchCriteria = Session["PUBENT_StartsWith"].ToString(); } else { SearchCriteria = SearchCriteria + ", " + Session["PUBENT_StartsWith"].ToString(); } GlobalUtils.Utils.SetCriteriaText("StartsWith", Session["PUBENT_StartsWith"].ToString()); //HITT 7074 CR-31 } if (Session["PUBENT_Race"].ToString().Length > 0) { KVPairCollection collRace = KVPair.GetKVPair("sp_NCIPL_getRace"); foreach (KVPair kvItem in collRace) { if (string.Compare(kvItem.Key, Session["PUBENT_Race"].ToString(), true) == 0) { if (SearchCriteria.Length == 0) { SearchCriteria = kvItem.Val; } else { SearchCriteria = SearchCriteria + ", " + kvItem.Val; } GlobalUtils.Utils.SetCriteriaText("Race", kvItem.Val); //HITT 7074 CR-31 } } } Session["PUBENT_Criteria"] = SearchCriteria; //End Code /*Begin CR-31 - HITT 9815 */ GlobalUtils.Utils objUtils = new GlobalUtils.Utils(); string QueryParams = objUtils.GetQueryStringParams(); objUtils = null; /*End CR-31 - HITT 9815 */ if (Session["PUBENT_NewOrUpdated"].ToString().Length > 0) //HITT 8300 - New & Updated now has its own page { Response.Redirect("newupdated.aspx"); } else { //CR-31 HITT 9815 Response.Redirect("searchres.aspx"); Response.Redirect("searchres.aspx" + "?sid=" + QueryParams); } } }
public async Task <bool> KVCasAsync(KVPair p) { var result = await _consulClient.KV.CAS(p); return(result.Response); }
public void KV_CAS() { var c = ClientTest.MakeClient(); var kv = c.KV; var key = TestKey(); var value = Encoding.UTF8.GetBytes("test"); var pair = new KVPair(key) { Value = value }; var p = kv.CAS(pair); Assert.IsTrue(p.Response); var g = kv.Get(key); pair = g.Response; Assert.IsNotNull(pair); Assert.IsTrue(StructuralComparisons.StructuralEqualityComparer.Equals(value, pair.Value)); Assert.IsTrue(g.LastIndex > 0); value = Encoding.UTF8.GetBytes("foo"); pair.Value = value; pair.ModifyIndex = 1; var cas = kv.CAS(pair); Assert.IsFalse(cas.Response); pair.ModifyIndex = g.LastIndex; cas = kv.CAS(pair); Assert.IsTrue(cas.Response); var del = kv.Delete(key); Assert.IsTrue(del.Response); }
public Task <WriteResult <bool> > Release(KVPair p, WriteOptions q, CancellationToken ct = new CancellationToken()) { throw new NotImplementedException(); }
public Task <WriteResult <bool> > Release(KVPair p, CancellationToken ct = default) { throw new NotImplementedException(); }
public void KV_Keys_DeleteRecurse() { var client = new Client(); var prefix = GenerateTestKeyName(); var putTasks = new Task[100]; var value = Encoding.UTF8.GetBytes("test"); for (var i = 0; i < 100; i++) { var pair = new KVPair(string.Join("/", prefix, GenerateTestKeyName())) { Value = value }; putTasks[i] = Task.Run(() => client.KV.Put(pair)); } Task.WaitAll(putTasks); var pairs = client.KV.Keys(prefix, ""); Assert.IsNotNull(pairs.Response); Assert.AreEqual(pairs.Response.Length, putTasks.Length); Assert.IsFalse(pairs.LastIndex == 0); var deleteTree = client.KV.DeleteTree(prefix); pairs = client.KV.Keys(prefix, ""); Assert.IsNull(pairs.Response); }
public Task <WriteResult <bool> > DeleteCAS(KVPair p, WriteOptions q, CancellationToken ct = default) { throw new NotImplementedException(); }
static void Main(string[] args) { var app = new CommandLineApplication(); app.Name = "consulAppender"; app.Description = "Consul Key/Value appender"; app.HelpOption("-?|-h|--help"); var consulAddrOption = app.Option($"-c|--consulAddress <{_defaultConsulAddr}>", "Consul HTTP address", CommandOptionType.SingleValue); var consulMasterTokenOption = app.Option($"-m|--masterToken <{_defaultConsulToken}>", "Master token value", CommandOptionType.SingleValue); app.OnExecute(async() => { var consulAddress = consulAddrOption.HasValue() ? consulAddrOption.Value() : _defaultConsulAddr; var consulMasterToken = consulMasterTokenOption.Value(); var client = new ConsulClient(configuration => { configuration.Address = new Uri(consulAddress); if (string.IsNullOrWhiteSpace(consulMasterToken) == false) { configuration.Token = consulMasterToken; } }); var filesToProcess = Directory.GetFiles("data/", "*Data.json"); foreach (var file in filesToProcess) { var jsonBytes = File.ReadAllBytes(file); if (jsonBytes.Length == 0) { continue; } try { var jsonDoc = JsonDocument.Parse(jsonBytes); var root = jsonDoc.RootElement; foreach (var item in root.EnumerateArray()) { var key = item.GetProperty("key").GetString(); var val = item.GetProperty("value").ToString(); var pair = new KVPair(key) { Value = Encoding.UTF8.GetBytes(val) }; await client.KV.Put(pair); } } catch (Exception ex) { Console.WriteLine(ex.Message); } } var restClient = new RestClient($"{consulAddress}/v1"); restClient.AddDefaultHeader("X-Consul-Token", "b1c89741-57d9-4e2c-98e8-7a71e9ae6b95"); var restRequest = new RestRequest("/acl/policies", Method.GET); var response = restClient.Execute(restRequest); Console.WriteLine(response.Content); var plicyget = new RestRequest("/acl/policy/24ca309b-4909-27ec-3722-460c22c58e2b", Method.GET); var policyresp = restClient.Execute(plicyget); var policyPut = new RestRequest("/acl/policy", Method.PUT); var policyToPut = new ConsulPolicy() { Name = "read-configurationTest", Description = "Grants read access to all key/value information" }; policyToPut.SetRule("key-prefix", "", "read"); policyToPut.SetRule("key-prefix", "apps/jpc", "write"); policyPut.AddJsonBody(policyToPut); var policyPutResp = restClient.Execute(policyPut); Console.WriteLine(policyPutResp.Content); Console.WriteLine(policyresp.Content); var content = response.Content; var acl = client.ACL.List().Result;// ACL.List().Result; var keys = client.KV.Keys("").Result; Console.WriteLine("Finished uploading Consul configuration"); return(0); }); try { app.Execute(args); } catch (CommandParsingException ex) { Console.WriteLine(ex.Message); } catch (Exception ex) { Console.WriteLine($"Unable to execute application: {ex.Message}"); } }
public async Task KV_DeleteCAS() { var client = new ConsulClient(); var key = GenerateTestKeyName(); var value = Encoding.UTF8.GetBytes("test"); var pair = new KVPair(key) { Value = value }; var putRequest = await client.KV.CAS(pair); Assert.True(putRequest.Response); var getRequest = await client.KV.Get(key); pair = getRequest.Response; Assert.NotNull(pair); Assert.True(StructuralComparisons.StructuralEqualityComparer.Equals(value, pair.Value)); Assert.True(getRequest.LastIndex > 0); pair.ModifyIndex = 1; var deleteRequest = await client.KV.DeleteCAS(pair); Assert.False(deleteRequest.Response); pair.ModifyIndex = getRequest.LastIndex; deleteRequest = await client.KV.DeleteCAS(pair); Assert.True(deleteRequest.Response); }
public static async Task Main(string[] args) { IConfiguration Configuration; Startup = ConsoleAppConfigurator.BootstrapApp(); var serviceCollection = new ServiceCollection(); Startup.ConfigureServices(serviceCollection); ServiceProvider = serviceCollection.BuildServiceProvider(); Configuration = Startup.Configuration; var ConfigOptionsTest = new ConfigOptions(); Configuration.GetSection("ConfigOptions").Bind(ConfigOptionsTest); DataOptions dataOptions = ServiceProvider.GetService <IOptions <DataOptions> >().Value; ConfigOptions configOptions = ServiceProvider.GetService <IOptions <ConfigOptions> >().Value; IConsulServicesFind consulServicesFind = ServiceProvider.GetRequiredService <IConsulServicesFind>(); ConsulOption consulOption = new ConsulOption(); Configuration.GetSection("ConsulOption").Bind(consulOption); //注册10个不健康的ServiceA节点 consulOption.ServiceHealthCheck = "http://127.0.0.1:8088/healthCheck"; for (int i = 0; i < 10; i++) { RegisterConsul(consulOption); } // Find the ServiceA using (var consulClient = new ConsulClient(a => a.Address = new Uri(dataOptions.ConsulUrl))) { CatalogService[] services = consulServicesFind.FindConsulServices("ServiceA").ToArray(); if (services != null && services.Any()) { // 模拟随机一台进行请求,这里只是测试,可以选择合适的负载均衡工具或框架 Random r = new Random(); int index = r.Next(services.Count()); var service = services.ElementAt(index); using (HttpClient client = new HttpClient()) { var response = await client.GetAsync($"http://{service.ServiceAddress}:{service.ServicePort}/weatherforecast"); var result = await response.Content.ReadAsStringAsync(); Console.WriteLine(result); } } } //注册10个不健康的ServiceB节点 consulOption.ServiceName = "ServiceB"; for (int i = 0; i < 10; i++) { RegisterConsul(consulOption); } //Find the ServiceB using (var consulClient = new ConsulClient(a => a.Address = new Uri(dataOptions.ConsulUrl))) { CatalogService[] services = consulServicesFind.FindConsulServices("ServiceB").ToArray(); if (services != null && services.Any()) { // 模拟随机一台进行请求,这里只是测试,可以选择合适的负载均衡工具或框架 Random r = new Random(); int index = r.Next(services.Count()); var service = services.ElementAt(index); using (HttpClient client = new HttpClient()) { var response = await client.GetAsync($"http://{service.ServiceAddress}:{service.ServicePort}/weatherforecast"); var result = await response.Content.ReadAsStringAsync(); Console.WriteLine(result); } } } //Put or Replace the config, the ServiceA and ServiceB will sync the config using (var consulClient = new ConsulClient(a => a.Address = new Uri(dataOptions.ConsulUrl))) { string jsonString = File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"), Encoding.Default); var putPair = new KVPair("Config.json") { Value = Encoding.UTF8.GetBytes(jsonString) }; var putAttempt = await consulClient.KV.Put(putPair); if (putAttempt.Response) { var getPair = await consulClient.KV.Get("Config.json"); string result = Encoding.UTF8.GetString(getPair.Response.Value, 0, getPair.Response.Value.Length); Console.WriteLine(result); } } }
public async Task KV_WatchGet() { var client = new ConsulClient(); var key = GenerateTestKeyName(); var value = Encoding.UTF8.GetBytes("test"); var getRequest = await client.KV.Get(key); Assert.Null(getRequest.Response); var pair = new KVPair(key) { Flags = 42, Value = value }; #pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed Task.Run(async () => { Task.Delay(1100).Wait(); var p = new KVPair(key) { Flags = 42, Value = value }; var putResponse = await client.KV.Put(p); Assert.True(putResponse.Response); }); #pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed var getRequest2 = await client.KV.Get(key, new QueryOptions() { WaitIndex = getRequest.LastIndex }); var res = getRequest2.Response; Assert.NotNull(res); Assert.True(StructuralComparisons.StructuralEqualityComparer.Equals(value, res.Value)); Assert.Equal(pair.Flags, res.Flags); Assert.True(getRequest2.LastIndex > 0); var deleteRequest = await client.KV.Delete(key); Assert.True(deleteRequest.Response); getRequest = await client.KV.Get(key); Assert.Null(getRequest.Response); }
internal static bool IsLeafNode(this KVPair kvPair) { return(!kvPair.Key.EndsWith("/")); }
public async Task KV_WatchList() { var client = new ConsulClient(); var prefix = GenerateTestKeyName(); var value = Encoding.UTF8.GetBytes("test"); var pairs = await client.KV.List(prefix); Assert.Null(pairs.Response); #pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed Task.Run(async () => { Thread.Sleep(100); var p = new KVPair(prefix) { Flags = 42, Value = value }; var putRes = await client.KV.Put(p); Assert.True(putRes.Response); }); #pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed var pairs2 = await client.KV.List(prefix, new QueryOptions() { WaitIndex = pairs.LastIndex }); Assert.NotNull(pairs2.Response); Assert.Equal(pairs2.Response.Length, 1); Assert.True(StructuralComparisons.StructuralEqualityComparer.Equals(value, pairs2.Response[0].Value)); Assert.Equal(pairs2.Response[0].Flags, (ulong)42); Assert.True(pairs2.LastIndex > pairs.LastIndex); var deleteTree = await client.KV.DeleteTree(prefix); Assert.True(deleteTree.Response); }
protected void Page_Load(object sender, EventArgs e) { if (Utils.ValidateRedirect().Length > 0) //Important check { Response.Redirect(Utils.ValidateRedirect(), true); } //Moving this to default page //if (Session["JSTurnedOn"] == null) // Session["JSTurnedOn"] = "True"; //Assuming JavaScript is enabled, by default. ////Missing Session //if (Session["JSTurnedOn"] == null) // //Response.Redirect("default.aspx?missingsession=true", true); // Response.Redirect("conf.aspx?missingjs=true", true); //For Hailstorm check length if (this.searchbar.Terms.Length > 100) //Using a hundred limit for search contains sp { Response.Redirect("default.aspx", true); } if (!Page.IsPostBack) { if (Request.QueryString["js"] != null) //Test for JavaScript { if (string.Compare(Request.QueryString["js"].ToString(), "2") == 0) { Session["JSTurnedOn"] = "False"; } } ////***EAC Create the session variables asap //Session["NCIPL_Pubs"] = ""; //Session["NCIPL_Qtys"] = ""; //Session["PUBENT_SearchKeyword"] = ""; //Session["PUBENT_TypeOfCancer"] = ""; //Session["PUBENT_Subject"] = ""; //Session["PUBENT_Audience"] = ""; //Session["PUBENT_ProductFormat"] = ""; //Session["PUBENT_Language"] = ""; //Session["PUBENT_StartsWith"] = ""; //Session["PUBENT_Series"] = ""; //Or collection //Session["PUBENT_NewOrUpdated"] = ""; //Session["PUBENT_Race"] = ""; //Added the session values clearing (other than pubids qtys) back for HITT 7432 Session["NCIPLEX_SearchKeyword"] = ""; Session["NCIPLEX_TypeOfCancer"] = ""; Session["NCIPLEX_Subject"] = ""; Session["NCIPLEX_Audience"] = ""; Session["NCIPLEX_ProductFormat"] = ""; Session["NCIPLEX_Language"] = ""; Session["NCIPLEX_StartsWith"] = ""; Session["NCIPLEX_Series"] = ""; //Or collection Session["NCIPLEX_NewOrUpdated"] = ""; Session["NCIPLEX_Race"] = ""; Session["NCIPLEX_Criteria"] = ""; ListCancerTypes.DataSource = KVPair.GetKVPair("sp_NCIPLex_getCancerTypes"); ListCancerTypes.DataBind(); ListSubjs.DataSource = KVPair.GetKVPair("sp_NCIPLex_getSubjects"); ListSubjs.DataBind(); ListProductFormat.DataSource = KVPair.GetKVPair("sp_NCIPLex_getProductFormats"); ListProductFormat.DataBind(); ListCollections.DataSource = KVPair.GetKVPair("sp_NCIPLex_getCollections"); ListCollections.DataBind(); ListProductUpdates.DataSource = KVPair.GetKVPair("sp_NCIPLex_getProductUpdates"); ListProductUpdates.DataBind(); ListLanguages.DataSource = KVPair.GetKVPair("sp_NCIPLex_getLanguages"); ListLanguages.DataBind(); ListAudience.DataSource = KVPair.GetKVPair("sp_NCIPLex_getAudience"); ListAudience.DataBind(); ListRace.DataSource = KVPair.GetKVPair("sp_NCIPLex_getRace"); ListRace.DataBind(); ////ListAnnouncements.DataSource = KVPair.GetKVPair("sp_NCIPL_getAnnouncements"); ////ListAnnouncements.DataBind(); //ListAnnouncements.DataSource = Announcement.GetAnnouncements(); //ListAnnouncements.DataBind(); //if (ListAnnouncements.Items.Count == 0) // divAnnouncements.Visible = false; ////ListFeatures.DataSource = KVPair.GetKVPair("sp_NCIPL_getFeatures"); ////ListFeatures.DataBind(); //ProductCollection p = DAL.DAL.GetProductFeatures(); //ListFeatures.DataSource = p; //ListFeatures.DataBind(); } else //HITT 7426 - The else code is added to handle enter key pressed in the text box { //txtSearch.Text = Session["PUBENT_SearchKeyword"].ToString(); Session["NCIPLEX_SearchKeyword"] = this.searchbar.Terms; Session["NCIPLEX_TypeOfCancer"] = ""; Session["NCIPLEX_Subject"] = ""; Session["NCIPLEX_Audience"] = ""; Session["NCIPLEX_Language"] = ""; Session["NCIPLEX_ProductFormat"] = ""; Session["NCIPLEX_StartsWith"] = ""; Session["NCIPLEX_Series"] = ""; Session["NCIPLEX_NewOrUpdated"] = ""; Session["NCIPLEX_Race"] = ""; Session["NCIPLEX_Criteria"] = Session["NCIPLEX_SearchKeyword"]; /*Begin CR-31 - HITT 9815 */ GlobalUtils.Utils objUtils = new GlobalUtils.Utils(); string QueryParams = objUtils.GetQueryStringParams(); objUtils = null; /*End CR-31 - HITT 9815 */ //CR-31 HITT 9815 Response.Redirect("searchres.aspx"); Response.Redirect("searchres.aspx" + "?sid=" + QueryParams); } //Set the appropriate tab //int intTotalQty = 0; //if (Session["NCIPL_Qtys"] != null) //{ // string[] qtys = Session["NCIPL_Qtys"].ToString().Split(new Char[] { ',' }); // for (int i = 0; i < qtys.Length; i++) // { // if (qtys[i].Length > 0) // intTotalQty += Int32.Parse(qtys[i].ToString()); // } //} //string litText1 = @"<li id=""selected""><a href=""home.aspx"">Home</a></li>"; //string litText2 = @"<li><a href=""self.aspx"">Self-Printing Options</a></li>"; //string litText3 = @"<li><a href=""cart.aspx"">" + "Shopping Cart (" + intTotalQty.ToString() + ") </a></li>"; //Master.LiteralText = "<ul>" + litText1 + litText2 + litText3 + "</ul>"; //Begin - Code for Appropriate Tabs GlobalUtils.Utils UtilMethod = new GlobalUtils.Utils(); if (Session["NCIPLEX_Pubs"] != null) { Master.LiteralText = UtilMethod.GetTabHtmlMarkUp(Session["NCIPLEX_Qtys"].ToString(), "home"); } else { Master.LiteralText = UtilMethod.GetTabHtmlMarkUp("", "home"); } UtilMethod = null; //End Code for Tab }
public async Task KV_Keys_DeleteRecurse() { var client = new ConsulClient(); var prefix = GenerateTestKeyName(); var putTasks = new bool[100]; var value = Encoding.UTF8.GetBytes("test"); for (var i = 0; i < 100; i++) { var pair = new KVPair(string.Join("/", prefix, GenerateTestKeyName())) { Value = value }; putTasks[i] = (await client.KV.Put(pair)).Response; } var pairs = await client.KV.Keys(prefix, ""); Assert.NotNull(pairs.Response); Assert.Equal(pairs.Response.Length, putTasks.Length); Assert.False(pairs.LastIndex == 0); var deleteTree = await client.KV.DeleteTree(prefix); pairs = await client.KV.Keys(prefix, ""); Assert.Null(pairs.Response); }
protected void Page_Load(object sender, EventArgs e) { if (shoppingcartV2 == null || shoppingcartV2.Count < 1) { //***EAC I need a shopping cart at this point GlobalUtils.Utils.ClearAllSessions(); Response.Redirect("~/login.aspx", true); } if (!GlobalUtils.Utils.isLoggedin()) { //***EAC I need a logged in user at this point GlobalUtils.Utils.ClearAllSessions(); Response.Redirect("~/login.aspx", true); } string role = GlobalUtils.Utils.LoggedinRole(); if (role != "NCIPL_LM") { throw (new ArgumentException("Your role is not allowed at this point.")); } if (!IsPostBack) { Session["NCIPLCC_PrinterSplitOrder"] = null; //NCIPL_CC steps1.Activate("cell3"); //NCIPL_CC - Populate Customer Type Dropdown KVPairCollection kvpairColl = KVPair.GetKVPair("sp_NCIPLLM_getTypeOfCustomer"); foreach (KVPair kvpair in kvpairColl) { ListItem li = new ListItem(); li.Value = kvpair.Key; li.Text = kvpair.Val; drpCustomerType.Items.Add(li); } kvpairColl = null; //NCIPL_CC - Populate Order Media Dropdown KVPairCollection kvpairColl2 = KVPair.GetKVPair("sp_NCIPLLM_getOrderMedia"); foreach (KVPair kvpair in kvpairColl2) { ListItem li = new ListItem(); //li.Value = kvpair.Key; li.Value = kvpair.Val; //Non-critical data. Just use description to make the data retrieval from tbl_orderheader easy. li.Text = kvpair.Val; drpOrderMedia.Items.Add(li); } kvpairColl2 = null; drpDelivery.DataSource = DAL2.DAL.GetAllShippingMethods(); drpDelivery.DataTextField = "Val"; drpDelivery.DataValueField = "Key"; drpDelivery.DataBind(); drpDelivery.Items.Insert(0, new ListItem("USPS", "S1")); drpDelivery.Items.Insert(0, new ListItem("Courier", "C1")); drpDelivery.Items.Insert(0, new ListItem("[Select a Shipping Method]", "")); drpCountry.DataSource = drp2Country.DataSource = DAL2.DAL.GetCountries(); drpCountry.DataTextField = drp2Country.DataTextField = "Val"; drpCountry.DataValueField = drp2Country.DataValueField = "Key"; drpCountry.DataBind(); drp2Country.DataBind(); drpCountry.Items.Insert(0, new ListItem("UNITED STATES", "US")); drp2Country.Items.Insert(0, new ListItem("UNITED STATES", "US")); BindShippingInfo(); //Restore ship vals BindBillingInfo(); BindExtraInfo(); BindTotals(shipto != null ? shipto.State : ""); } }
public async Task KV_List_DeleteRecurse() { var client = new ConsulClient(); var prefix = GenerateTestKeyName(); var value = Encoding.UTF8.GetBytes("test"); for (var i = 0; i < 100; i++) { var p = new KVPair(string.Join("/", prefix, GenerateTestKeyName())) { Value = value }; Assert.True((await client.KV.Put(p)).Response); } var pairs = await client.KV.List(prefix); Assert.NotNull(pairs.Response); Assert.Equal(pairs.Response.Length, 100); foreach (var pair in pairs.Response) { Assert.True(StructuralComparisons.StructuralEqualityComparer.Equals(value, pair.Value)); } Assert.False(pairs.LastIndex == 0); await client.KV.DeleteTree(prefix); pairs = await client.KV.List(prefix); Assert.Null(pairs.Response); }
/// <summary> /// 使用Consul并且注册当前API服务 /// </summary> /// <returns></returns> public static IApplicationBuilder UseConsul(this IApplicationBuilder app) { #region check consul if (!isUseConsulConfigCenter) { } if (string.IsNullOrEmpty(consulIP)) { throw new Exception("配置项Consul IP为空--->Consul:IP"); } if (string.IsNullOrEmpty(consulPort)) { throw new Exception("配置项Consul 端口为空--->Consul:Port"); } if (string.IsNullOrEmpty(serverIP)) { throw new Exception("配置项服务IP为空--->Server:IP"); } if (string.IsNullOrEmpty(serverPort)) { throw new Exception("配置项服务端口为空--->Server:Port"); } #endregion var lifetime = app.ApplicationServices.GetRequiredService <IHostApplicationLifetime>(); using (var consulClient = new ConsulClient(x => { x.Address = new Uri(consulServerUrl); if (!string.IsNullOrEmpty(aclToken)) { x.Token = aclToken; } })) { var config = consulClient.KV.Get(consulServiceConfigName).Result; var ocelotConfig = consulClient.KV.Get("InternalConfiguration").Result; var ocelotConfigVal = Encoding.UTF8.GetString(ocelotConfig.Response.Value, 0, ocelotConfig.Response.Value.Length); if (config.StatusCode == HttpStatusCode.NotFound) { var putPair = new KVPair(consulServiceConfigName); var putAttempt = consulClient.KV.Put(putPair).Result; } //服务名称 var registration = new AgentServiceRegistration() { ID = Guid.NewGuid().ToString("N"), Name = consulServiceName, Address = serverIP, Port = Convert.ToInt32(serverPort) }; if (openHealth) { registration.Check = new AgentServiceCheck() { //服务启动多久后注册 DeregisterCriticalServiceAfter = TimeSpan.FromSeconds(5), //健康检查时间间隔 Interval = TimeSpan.FromSeconds(10), //健康检查地址 HTTP = $"http://{serverIP}:{serverPort}/api/health", Timeout = TimeSpan.FromSeconds(5) }; } // 注册服务 consulClient.Agent.ServiceRegister(registration).Wait(); // 应用程序终止时,注销服务 lifetime.ApplicationStopping.Register(() => { consulClient.Agent.ServiceDeregister(registration.ID).Wait(); }); return(app); } }
protected void DoSearch() { string strResult = ""; string strOrder = ""; string strOrderDate = ""; string currShipToEmail = ""; if (Session["SEARCHORDER_CUSTOMERTYPEDESC"] != null) { if (Session["SEARCHORDER_CUSTOMERTYPEDESC"].ToString() != "") { lblTypeofCustomer.Text = Session["SEARCHORDER_CUSTOMERTYPEDESC"].ToString(); divTypeofCustomer.Visible = true; } else { lblTypeofCustomer.Text = ""; divTypeofCustomer.Visible = false; } } if (Session["SEARCHORDER_CUSTOMERTYPE"] != null) { if (Session["SEARCHORDER_CUSTOMERTYPE"].ToString() != "" && Session["SEARCHORDER_CUSTOMERTYPE"].ToString() != "All") { strCustomerType = Convert.ToInt32(Session["SEARCHORDER_CUSTOMERTYPE"].ToString()); } else { strCustomerType = 0; } } else { strCustomerType = 0; } if (Session["SEARCHORDER_KEYWORD"] != null) { strKeyWord = Session["SEARCHORDER_KEYWORD"].ToString().Replace("'", "''"); if (Session["SEARCHORDER_KEYWORD"].ToString() != "") { lblSearchPhase.Text = Session["SEARCHORDER_KEYWORD"].ToString(); divSearchPhase.Visible = true; } else { lblSearchPhase.Text = ""; divSearchPhase.Visible = false; } } else { lblSearchPhase.Text = ""; divSearchPhase.Visible = false; } if (Session["SEARCHORDER_SDATE"] != null) { strSDate = Session["SEARCHORDER_SDATE"].ToString(); if (Session["SEARCHORDER_SDATE"].ToString() != "") { lblStartDate.Text = Session["SEARCHORDER_SDATE"].ToString(); divStartDate.Visible = true; } else { lblStartDate.Text = ""; divStartDate.Visible = false; } } else { lblStartDate.Text = ""; divStartDate.Visible = false; } if (Session["SEARCHORDER_EDATE"] != null) { strEDate = Session["SEARCHORDER_EDATE"].ToString(); if (Session["SEARCHORDER_EDATE"].ToString() != "") { lblEndDate.Text = Session["SEARCHORDER_EDATE"].ToString(); divEndDate.Visible = true; } else { lblEndDate.Text = ""; divEndDate.Visible = false; } } else { lblEndDate.Text = ""; divEndDate.Visible = false; } if (Session["SEARCHORDER_CURRPAGE"] != null) { if (Session["SEARCHORDER_CURRPAGE"].ToString() != "") { iCurrPage = Convert.ToInt32(Session["SEARCHORDER_CURRPAGE"].ToString()); } } iToRec = iCurrPage * iRecPerPage; iFromRec = iToRec - iRecPerPage + 1; iSearchOrderCount = DAL.DAL.GetSearchOrderCount(strCustomerType, strKeyWord, strSDate, strEDate); iTotalPage = 0; if (iSearchOrderCount > 0) { this.divSearchOrderResult.Style["display"] = ""; this.divNoRecord.Style["display"] = "none"; //--- Calculate Total number of pages for search result if ((iSearchOrderCount % iRecPerPage) == 0) { iTotalPage = iSearchOrderCount / iRecPerPage; } else { iTotalPage = (iSearchOrderCount / iRecPerPage) + 1; } //--- Search Result count this.lblRecordCount.Text = iSearchOrderCount.ToString(); this.divRecNavigation.Visible = true; this.divRecNavigationBtm.Visible = true; //--- Get navigation on right Display_RecNavigation(); //--- Get navigation dropdown if (bTotalPage) { Navigation_AssignPages(iSearchOrderCount, iRecPerPage, iTotalPage); } CustomerCollection CustColl = DAL.DAL.GetSearchOrderResult(strCustomerType, strKeyWord, strSearchSort, strSDate, strEDate, iFromRec, iToRec); foreach (Customer o in CustColl) { if (currShipToEmail == o.ShipToEmail) { //strResult = strResult + "<tr>" + // "<td colspan=\"5\">" + // " " + // "</td>" + // "</tr>"; } else { //strResult = strResult + "<tr>" + // "<td colspan=\"5\">" + // "<div style=\"height:1px; border-top:solid 1px #bbb\"></div>" + // "</td>" + // "</tr>"; } currShipToEmail = o.ShipToEmail; strOrder = ""; strOrderDate = ""; //StringCollection OrderColl = DAL.DAL.GetOrderByCustomer(o.CustID); //foreach (string orderinvoice in OrderColl) KVPairCollection kvpairColl = KVPair.GetKVPair_Order_Date(o.CustID); foreach (KVPair kvpair in kvpairColl) { //strOrder = strOrder + "<a href=\"OrderDetail.aspx?CustID=" + o.CustID + "&OrderNum=" + orderinvoice + "&PrevPage=SearchOrder\">" + orderinvoice + "</a>"; strOrder = strOrder + "<a href=\"javascript:ViewOrderDetail('" + drpQJumpsN.ClientID + "'"; strOrder = strOrder + ", '" + hidCustID.ClientID + "'"; strOrder = strOrder + ", '" + hidOrderNum.ClientID + "'"; strOrder = strOrder + ", '" + hidPrevPage.ClientID + "'"; //strOrder = strOrder + ", '" + o.CustID + "', '" + orderinvoice + "', 'SearchOrder');\">" + orderinvoice + "</a>"; strOrder = strOrder + ", '" + o.CustID + "', '" + kvpair.Key + "', 'SearchOrder');\">" + kvpair.Key + "</a>"; strOrder = strOrder + "<br />"; strOrderDate = strOrderDate + kvpair.Val; strOrderDate = strOrderDate + "<br />"; } strResult = strResult + "<tr>" + "<td>" + o.ShipToName + "<br />"; //"<a href=\"CustomerDetail.aspx?CustID=" + o.CustID + "\">" + o.ShipToName + "</a>" + "<br />"; if (o.ShipToAddr1 != "") { strResult = strResult + o.ShipToAddr1 + "<br />"; } if (o.ShipToAddr2 != "") { strResult = strResult + o.ShipToAddr2 + "<br />"; } if (o.ShipToCity != "" || o.ShipToState != "" || o.ShipToZip5 != "") { strResult = strResult + o.ShipToCity + ", " + o.ShipToState + " " + o.ShipToZip5; } strResult = strResult + "</td>" + "<td>" + o.ShipToOrg + "</td>" + "<td>" + o.ShipToEmail + "</td>" + "<td>" + strOrder + "</td>" + "<td>" + strOrderDate + "</td>" + "</tr>"; } ltrlSearchOrderResult.Text = strResult; } else { this.lblRecordCount.Text = ""; this.divRecNavigation.Visible = false; this.divRecNavigationBtm.Visible = false; this.divSearchOrderResult.Style["display"] = "none"; this.divNoRecord.Style["display"] = ""; } }
public async Task <bool> KVAcquireAsync(KVPair p, WriteOptions q) { var result = await _consulClient.KV.Acquire(p, q); return(result.Response); }
public void KV_CAS() { var client = new Client(); var key = GenerateTestKeyName(); var value = Encoding.UTF8.GetBytes("test"); var pair = new KVPair(key) { Value = value }; var putRequest = client.KV.CAS(pair); Assert.IsTrue(putRequest.Response); var getRequest = client.KV.Get(key); pair = getRequest.Response; Assert.IsNotNull(pair); Assert.IsTrue(StructuralComparisons.StructuralEqualityComparer.Equals(value, pair.Value)); Assert.IsTrue(getRequest.LastIndex > 0); value = Encoding.UTF8.GetBytes("foo"); pair.Value = value; pair.ModifyIndex = 1; var casRequest = client.KV.CAS(pair); Assert.IsFalse(casRequest.Response); pair.ModifyIndex = getRequest.LastIndex; casRequest = client.KV.CAS(pair); Assert.IsTrue(casRequest.Response); var deleteRequest = client.KV.Delete(key); Assert.IsTrue(deleteRequest.Response); }
public async Task <bool> KVDeleteCasAsync(KVPair p, WriteOptions q) { var result = await _consulClient.KV.DeleteCAS(p, q); return(result.Response); }
public void KV_WatchGet() { var client = new Client(); var key = GenerateTestKeyName(); var value = Encoding.UTF8.GetBytes("test"); var getRequest = client.KV.Get(key); Assert.IsNull(getRequest.Response); var pair = new KVPair(key) { Flags = 42, Value = value }; Task.Run(() => { Task.Delay(1100).Wait(); var p = new KVPair(key) { Flags = 42, Value = value }; var putResponse = client.KV.Put(p); Assert.IsTrue(putResponse.Response); }); var getRequest2 = client.KV.Get(key, new QueryOptions() { WaitIndex = getRequest.LastIndex }); var res = getRequest2.Response; Assert.IsNotNull(res); Assert.IsTrue(StructuralComparisons.StructuralEqualityComparer.Equals(value, res.Value)); Assert.AreEqual(pair.Flags, res.Flags); Assert.IsTrue(getRequest2.LastIndex > 0); var deleteRequest = client.KV.Delete(key); Assert.IsTrue(deleteRequest.Response); getRequest = client.KV.Get(key); Assert.IsNull(getRequest.Response); }
protected void Page_Load(object sender, EventArgs e) { //Check GUAM UserId, Role for NCIPL_CC if (GlobalUtils.UserRoles.getLoggedInUserId().Length == 0 || GlobalUtils.UserRoles.getLoggedInUserRole() < 1) { string currASPXfilename = System.IO.Path.GetFileName(Request.Path).ToString(); Session["NCIPL_REGISTERREFERRER"] = currASPXfilename; Response.Redirect("~/login.aspx?msg=invaliduser&redir=" + currASPXfilename, true); } //Moving this to default page //if (Session["JSTurnedOn"] == null) // Session["JSTurnedOn"] = "True"; //Assuming JavaScript is enabled, by default. ////Missing Session -- COMMENTED FOR NCIPLCC //if (Session["JSTurnedOn"] == null) // Response.Redirect("default.aspx?missingsession=true", true); //For Hailstorm check length if (this.searchbar.Terms.Length > 100) //Using a hundred limit for search contains sp { Response.Redirect("default.aspx", true); } if (!Page.IsPostBack) { if (Request.QueryString["js"] != null) //Test for JavaScript { if (string.Compare(Request.QueryString["js"].ToString(), "2") == 0) { Session["JSTurnedOn"] = "False"; } } //Begin CR-36 - A quick way to turn off Featured Images if (ConfigurationManager.AppSettings["TurnOffFeaturedImages"] != null) { TurnOffFeaturedImages = ConfigurationManager.AppSettings["TurnOffFeaturedImages"]; } //End CR-36 ////***EAC Create the session variables asap Session["PUBENT_SearchKeyword"] = ""; Session["PUBENT_TypeOfCancer"] = ""; Session["PUBENT_Subject"] = ""; Session["PUBENT_Audience"] = ""; Session["PUBENT_ProductFormat"] = ""; Session["PUBENT_Language"] = ""; Session["PUBENT_StartsWith"] = ""; Session["PUBENT_Series"] = ""; //Or collection Session["PUBENT_NewOrUpdated"] = ""; Session["PUBENT_Race"] = ""; Session["PUBENT_Criteria"] = ""; ListCancerTypes.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getCancerTypes"); ListCancerTypes.DataBind(); ListSubjs.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getSubjects"); ListSubjs.DataBind(); ListProductFormat.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getProductFormats"); ListProductFormat.DataBind(); ListCollections.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getCollections"); ListCollections.DataBind(); //CR 11-001-36 ListProductUpdates.DataSource = KVPair.GetKVPair("sp_NCIPL_getProductUpdates"); //CR 11-001-36 ListProductUpdates.DataBind(); ListLanguages.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getLanguages"); ListLanguages.DataBind(); ListAudience.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getAudience"); ListAudience.DataBind(); ListRace.DataSource = KVPair.GetKVPair("sp_NCIPLCC_getRace"); ListRace.DataBind(); //ListAnnouncements.DataSource = KVPair.GetKVPair("sp_NCIPL_getAnnouncements"); //ListAnnouncements.DataBind(); ListAnnouncements.DataSource = Announcement.GetAnnouncements(); ListAnnouncements.DataBind(); if (ListAnnouncements.Items.Count == 0) { divAnnouncements.Visible = false; } //ListFeatures.DataSource = KVPair.GetKVPair("sp_NCIPL_getFeatures"); //ListFeatures.DataBind(); //CR-36 ProductCollection p = DAL.DAL.GetProductFeatures(); //CR-36 ListFeatures.DataSource = p; //CR-36 ListFeatures.DataBind(); #region StackRelated //ListFeatures.DataSource = DAL.DAL.GetStacks(); //CR-36 //ListFeatures.DataBind(); //CR-36 #endregion } //Begin - Code for Appropriate Tabs GlobalUtils.Utils UtilMethod = new GlobalUtils.Utils(); if (Session["NCIPL_Pubs"] != null) { Master.LiteralText = UtilMethod.GetTabHtmlMarkUp(Session["NCIPL_Qtys"].ToString(), "home"); } else { Master.LiteralText = UtilMethod.GetTabHtmlMarkUp("", "home"); } UtilMethod = null; //End Code for Tab }
public Task <WriteResult <bool> > Put(KVPair p, CancellationToken ct = new CancellationToken()) { throw new NotImplementedException(); }