private void OnToMonitoringCallStateChanged(object sender) { if (_To.CallId == -1) { State = FunctionState.Error; } }
public void To(int id) { if (_State == FunctionState.Idle) { Debug.Assert(id < Tlf.NumDestinations); TlfPosition to = Top.Tlf[id]; FunctionState st = FunctionState.Error; if (to.IsTop) { _To = new TlfIaPosition(to); _To.Listen(); if (_To.State == TlfState.Out) { _To.TlfPosStateChanged += OnToMonitoringCallStateChanged; st = FunctionState.Executing; Top.WorkingThread.Enqueue("SetSnmp", delegate() { string snmpString = Top.Cfg.PositionId + "_" + "LISTEN" + "_" + _To.Literal; General.SafeLaunchEvent(SetSnmpString, this, new SnmpStringMsg <string, string>(Settings.Default.TlfFacilityOid, snmpString)); }); } } State = st; } }
/// <summary> /// Sets the state of functions 13 to 20 of a locomotive /// XpressNet 3.6 and later /// </summary> /// <param name="address">Address of the locomotive (0 - 9999)</param> /// <param name="f13">Function 9</param> /// <param name="f14">Function 10</param> /// <param name="f15">Function 11</param> /// <param name="f16">Function 12</param> public SetFunctionOperationInstruction_Group4Message(int address, FunctionState f13, FunctionState f14, FunctionState f15, FunctionState f16, FunctionState f17, FunctionState f18, FunctionState f19, FunctionState f20) : base(PacketHeaderType.LocomotiveFunction) { Payload.Add(Convert.ToByte(PacketIdentifier.LocomotiveFunctionRequest.SetFunctionOperationInstruction_Group4)); byte[] data = new byte[3]; if (address >= XpressNetConstants.MIN_LOCO_ADDRESS && address <= XpressNetConstants.MAX_LOCO_ADDRESS) { ValueConverter.LocoAddress(address, out data[0], out data[1]); } else { throw new XpressNetProtocolViolationException("Number out of bounds"); } data[2] = 0x00; if (f20 == FunctionState.On) { data[2] += 128; } if (f19 == FunctionState.On) { data[2] += 64; } if (f18 == FunctionState.On) { data[2] += 32; } if (f17 == FunctionState.On) { data[2] += 16; } if (f16 == FunctionState.On) { data[2] += 8; } if (f15 == FunctionState.On) { data[2] += 4; } if (f14 == FunctionState.On) { data[2] += 2; } if (f13 == FunctionState.On) { data[2] += 1; } Payload.AddRange(data); }
public void Cancel(int call) { if (call == -1) { if (_To != null) { _To.TlfPosStateChanged -= OnToMonitoringCallStateChanged; _To.HangUp(0); _To.Dispose(); _To = null; } State = FunctionState.Idle; } else { TlfIaPosition from; if (_Froms.TryGetValue(call, out from)) { from.TlfPosStateChanged -= OnFromMonitoringCallStateChanged; from.Reject(SipAgent.SIP_NOT_ACCEPTABLE_HERE); from.Dispose(); _Froms.Remove(call); } } }
/// <summary> /// Invoked once a pseudo class has been found in the token enumerator. /// </summary> /// <param name="token">The token.</param> void OnPseudoClassFunction(CssToken token) { if (function.Finished(token)) { var sel = function.Produce(); if (IsNested && function is NotFunctionState) { sel = null; } state = State.Data; ready = true; function = null; if (sel != null) { Insert(sel); } else { valid = false; } } }
/// <summary> /// Invoked once a colon has been found in the token enumerator. /// </summary> /// <param name="token">The token.</param> void OnPseudoClass(CssToken token) { state = State.Data; ready = true; if (token.Type == CssTokenType.Colon) { state = State.PseudoElement; return; } else if (token.Type == CssTokenType.Function) { function = GetPseudoFunction(token); if (function != null) { ready = false; state = State.PseudoClassFunction; return; } } else if (token.Type == CssTokenType.Ident) { var sel = GetPseudoSelector(token); if (sel != null) { Insert(sel); return; } } valid = false; }
public bool Permit(IAcSession user, FunctionState function, IManagedObject data) { if (function == null) { throw new ArgumentNullException("function"); } // 如果非托管 if (!function.IsManaged) { return(true); } if (!user.Identity.IsAuthenticated) { return(false); } if (user.IsDeveloper()) { return(true); } var functionIDs = user.AccountPrivilege.AuthorizedFunctionIDs; if (!functionIDs.Contains(function.Id)) { return(false); } if (data != null) { // TODO:验证实体级权限。anycmd 1.0版本暂不支持,后续版本支持 } return(true); }
public void To(uint prefix, string dst, string number) { if (_State == FunctionState.Idle) { FunctionState st = FunctionState.Error; if (prefix == Cd40Cfg.INT_DST) { _To = new TlfIaPosition(prefix, dst); _To.Listen(); if (_To.State == TlfState.Out) { _To.TlfPosStateChanged += OnToMonitoringCallStateChanged; st = FunctionState.Executing; Top.WorkingThread.Enqueue("SetSnmp", delegate() { string snmpString = Top.Cfg.PositionId + "_" + "LISTEN" + "_" + _To.Number; General.SafeLaunchEvent(SetSnmpString, this, new SnmpStringMsg <string, string>(Settings.Default.TlfFacilityOid, snmpString)); }); } } State = st; } }
/// <summary> /// Do the preparatives to execute the pick up with AID: /// Only allows captures from prefix 0 (TA users) /// makes the subscription to get information about destination to be pickUp'd /// </summary> /// <param name="id">destination data to be pickUp'd</param> /// <returns></returns> public void Prepare(uint prefix, string dst, string number, string lit) { if (_State == FunctionState.Idle) { if (prefix != 0) { State = FunctionState.Error; _Logger.Error(String.Format("TlfPickUp:Prepare AID error target is prefix {0}", prefix)); } else { _Target = Top.Tlf.SearchTlfPosition(prefix, dst, number, lit, true); if (_Target != null) { PrepareCommon(); } else { _Logger.Error(String.Format("TlfPickUp:Prepare AID error target is null")); } } } else { _Logger.Error(String.Format("TlfPickUp:Prepare AID error state: {0}", _State)); } }
public void EventGridException( string hubName, string functionName, FunctionState functionState, string instanceId, string details, Exception exception, string reason, long latencyMs) { FunctionType functionType = FunctionType.Orchestrator; bool isReplay = false; EtwEventSource.Instance.EventGridNotificationException( hubName, LocalAppName, LocalSlotName, functionName, functionState, ExtensionVersion, instanceId, details, exception.Message, reason, functionType, ExtensionVersion, isReplay, latencyMs); this.logger.LogError( "{instanceId}: Function '{functionName} ({functionType})', failed to send a '{functionState}' notification event to Azure Event Grid. Exception message: {exceptionMessage}. Details: {details}. HubName: {hubName}. AppName: {appName}. SlotName: {slotName}. ExtensionVersion: {extensionVersion}. SequenceNumber: {sequenceNumber}. Latency: {latencyMs} ms.", instanceId, functionName, functionType, functionState, exception.Message, details, hubName, LocalAppName, LocalSlotName, ExtensionVersion, this.sequenceNumber++, latencyMs); }
public bool Permit(IAcSession user, FunctionState function, IManagedObject data) { if (function == null) { throw new ArgumentNullException("function"); } // 如果非托管 if (!function.IsManaged) { return true; } if (!user.Identity.IsAuthenticated) { return false; } if (user.IsDeveloper()) { return true; } var functionIDs = user.AccountPrivilege.AuthorizedFunctionIDs; if (!functionIDs.Contains(function.Id)) { return false; } if (data != null) { // TODO:验证实体级权限。anycmd 1.0版本暂不支持,后续版本支持 } return true; }
/// <summary> /// Al establecerse la llamada y terminar con exito la captura se envia el mensaje /// al target /// </summary> /// <param name="sender"></param> private void OnCapturedCallStateChanged(object sender) { TlfPosition tlf = (TlfPosition)sender; try { if (tlf.State == TlfState.Set) { _Captured.TlfPosStateChanged -= OnCapturedCallStateChanged; SipAgent.SendInstantMessage(_Target.Channels[0].AccId, _Target.Uri, PickUpTag + Top.Cfg.PositionId + Resources.HasCaptured + _Captured.Literal, _UseProxy); _Ringing.Remove(_Captured.Pos); foreach (int pos in _Ringing.Keys) { Top.Tlf[pos].State = TlfState.Idle; } _Ringing.Clear(); _Target.TlfPosStateChanged -= OnTargetCallStateChanged; _Target.State = TlfState.Idle; // se pasa a reposo al terminar la captura, no al entrar los ringing _Target = null; _TargetUris = null; State = FunctionState.Idle; Top.WorkingThread.Enqueue("SetSnmp", delegate() { string snmpString = Top.Cfg.PositionId + "_" + "CAPTURED" + "_" + _Captured.Literal; General.SafeLaunchEvent(SetSnmpString, this, new SnmpStringMsg <string, string>(Settings.Default.TlfFacilityOid, snmpString)); }); } } catch (Exception exc) { _Logger.Error("OnCapturedCallStateChanged exception {0}", exc.Message); } }
/// <summary> /// Cancel the pickUp process /// If this cancellation is due to changes in _target, then its state is not changed /// otherwise is set back to Idle. /// </summary> /// <param name="changeTargetState"></param> /// <returns></returns> public bool Cancel(bool changeTargetState = true) { if (State != FunctionState.Idle) { State = FunctionState.Idle; if (_Target != null) { _Target.TlfPosStateChanged -= OnTargetCallStateChanged; if (_TargetUris != null) { foreach (string uri in _TargetUris) { SipAgent.DestroyDialogSubscription(uri); } } if ((changeTargetState) || (_Target.State == TlfState.InProcess)) { _Target.State = TlfState.Idle; } _Target = null; _TargetUris = null; } if (_Captured != null) { _Captured = null; } foreach (int pos in _Ringing.Keys) { Top.Tlf[pos].State = TlfState.Idle; } _Ringing.Clear(); return(true); } return(false); }
private void PrepareCommon() { _TargetUris = _Target.GetUris(); if (_TargetUris != null) { _IgnoreNotify = false; _Target.State = TlfState.InProcess; bool error = false; foreach (string uri in _TargetUris) { error &= SipAgent.CreateDialogSubscription(_Target.Channels[0].AccId, uri, _UseProxy); } if (!error) { State = FunctionState.Executing; _Target.TlfPosStateChanged += OnTargetCallStateChanged; Top.WorkingThread.Enqueue("SetSnmp", delegate() { string snmpString = Top.Cfg.PositionId + "_" + "CAPTURE" + "_" + _Target.Literal; General.SafeLaunchEvent(SetSnmpString, this, new SnmpStringMsg <string, string>(Settings.Default.TlfFacilityOid, snmpString)); }); } else { State = FunctionState.Error; _Logger.Error("TlfPickUp::PrepareCommon CreateDialogSubscription error [0]", _Target.Literal); } } else { State = FunctionState.Error; _Logger.Error("TlfPickUp::PrepareCommon target [0] with no path", _Target.Literal); } }
private void Update(FunctionState state) { var acDomain = _set._acDomain; var dicByCode = _set._dicByCode; var dicById = _set._dicById; var oldState = dicById[state.Id]; string oldKey = oldState.Code; string newKey = state.Code; dicById[state.Id] = state; CatalogState resource; if (!acDomain.CatalogSet.TryGetCatalog(oldState.ResourceTypeId, out resource)) { throw new ValidationException("意外的功能资源标识" + oldState.ResourceTypeId); } if (!dicByCode[resource].ContainsKey(newKey)) { dicByCode[resource].Remove(oldKey); dicByCode[resource].Add(newKey, state); } else { dicByCode[resource][newKey] = state; } }
private void Init() { if (_initialized) { return; } lock (Locker) { if (_initialized) { return; } _acDomain.MessageDispatcher.DispatchMessage(new MemorySetInitingEvent(this)); _dicByCode.Clear(); _dicById.Clear(); var functions = _acDomain.RetrieveRequiredService <IOriginalHostStateReader>().GetAllFunctions(); foreach (var entity in functions) { var function = FunctionState.Create(_acDomain, entity); _dicById.Add(function.Id, function); if (!_dicByCode.ContainsKey(function.Resource)) { _dicByCode.Add(function.Resource, new Dictionary <functionCode, FunctionState>(StringComparer.OrdinalIgnoreCase)); } if (!_dicByCode[function.Resource].ContainsKey(function.Code)) { _dicByCode[function.Resource].Add(function.Code, function); } } _initialized = true; _acDomain.MessageDispatcher.DispatchMessage(new MemorySetInitializedEvent(this)); } }
private void OnPseudoClass(CssSelectorToken token) { _state = State.Data; _ready = true; if (token.Type == CssTokenType.Colon) { _state = State.PseudoElement; return; } else if (token.Type == CssTokenType.Function) { if (pseudoClassFunctions.TryGetValue(token.Data, out var creator)) { _state = State.Function; _function = creator.Invoke(this); _ready = false; return; } } else if (token.Type == CssTokenType.Ident) { var sel = _pseudoClassSelector.Create(token.Data); if (sel != null) { Insert(sel); return; } } _valid = false; }
/// <summary> /// Sets the state of functions 5 to 8 of a locomotive /// </summary> /// <param name="address">Address of the locomotive (0 - 9999)</param> /// <param name="f5">Function 5</param> /// <param name="f6">Function 6</param> /// <param name="f7">Function 7</param> /// <param name="f8">Function 8</param> public SetFunctionOperationInstruction_Group2Message(int address, FunctionState f5, FunctionState f6, FunctionState f7, FunctionState f8) : base(PacketHeaderType.LocomotiveFunction) { Payload.Add(Convert.ToByte(PacketIdentifier.LocomotiveFunctionRequest.SetFunctionOperationInstruction_Group2)); byte[] data = new byte[3]; if (address >= XpressNetConstants.MIN_LOCO_ADDRESS && address <= XpressNetConstants.MAX_LOCO_ADDRESS) ValueConverter.LocoAddress(address, out data[0], out data[1]); else throw new XpressNetProtocolViolationException("Number out of bounds"); data[2] = 0x00; if (f8 == FunctionState.On) data[2] += 8; if (f7 == FunctionState.On) data[2] += 4; if (f6 == FunctionState.On) data[2] += 2; if (f5 == FunctionState.On) data[2] += 1; Payload.AddRange(data); }
public void EventGridFailed( string hubName, string functionName, FunctionState functionState, string instanceId, string details, HttpStatusCode statusCode, string reason, long latencyMs) { FunctionType functionType = FunctionType.Orchestrator; EtwEventSource.Instance.EventGridNotificationFailed( hubName, LocalAppName, LocalSlotName, functionName, functionState, instanceId, details, (int)statusCode, reason, functionType, ExtensionVersion, IsReplay: false, latencyMs); this.logger.LogError( "{instanceId}: Function '{functionName} ({functionType})' failed to send a '{functionState}' notification event to Azure Event Grid. Status code: {statusCode}. Details: {details}. HubName: {hubName}. AppName: {appName}. SlotName: {slotName}. ExtensionVersion: {extensionVersion}. SequenceNumber: {sequenceNumber}. Latency: {latencyMs} ms.", instanceId, functionName, functionType, functionState, (int)statusCode, details, hubName, LocalAppName, LocalSlotName, ExtensionVersion, this.sequenceNumber++, latencyMs); }
public void Reset(ListenPickUpMsg msg) { //if (_State != msg.State) { if (msg.State != FunctionState.Error) { switch (msg.State) { case FunctionState.Executing: if (string.IsNullOrEmpty(msg.OtherDst)) { StateDescription = Resources.ForwardDescription + " " + msg.Dst; } else { StateDescription = Resources.ForwardDescription + " " + msg.OtherDst + " " + Resources.From + " " + msg.Dst; } break; case FunctionState.Idle: case FunctionState.Ready: if (!StateDescription.Contains(Resources.RemoteForwardDescription)) { StateDescription = ""; } break; } } State = msg.State; } }
public void EventGridSuccess( string hubName, string functionName, FunctionState functionState, string version, string instanceId, string details, HttpStatusCode statusCode, string reason, long latencyMs) { FunctionType functionType = FunctionType.Orchestrator; bool isReplay = false; EtwEventSource.Instance.EventGridNotificationCompleted( hubName, LocalAppName, LocalSlotName, functionName, functionState, version, instanceId, details, statusCode, reason, functionType, ExtensionVersion, isReplay, latencyMs); this.logger.LogInformation( "{instanceId}: Function '{functionName} ({functionType})', sent a '{functionState}' notification event to Azure Event Grid. Status code: {statusCode}. Details: {details}. HubName: {hubName}. AppName: {appName}. SlotName: {slotName}. ExtensionVersion: {extensionVersion}. SequenceNumber: {sequenceNumber}. Latency: {latencyMs} ms.", instanceId, functionName, functionType, functionState, statusCode, details, hubName, LocalAppName, LocalSlotName, ExtensionVersion, this.sequenceNumber++, latencyMs); }
public void To(int id) { _FirstTransferTryKO = false; _ToTransfer = null; _FromTransferDisplayName = ""; if (_State == FunctionState.Idle) { List <TlfPosition> activeCalls = Top.Tlf.ActiveCalls; FunctionState st = FunctionState.Error; if (activeCalls.Count == 1) { if ((activeCalls[0].State == TlfState.Set) || (activeCalls[0].State == TlfState.Conf)) { TlfPosition tlf = activeCalls[0]; TlfPosition to = Top.Tlf[id]; bool transferDone = false; if (Top.Tlf[id].State == TlfState.Idle) { string toUri = to.Uri; if (TlfManager.GetDisplayName(to.Uri) == null && to.Literal.Length > 0) { //Si to.Uri no tiene display name se añade el Literal como display name en la transferencia directa toUri = "\"" + to.Literal + "\" " + to.Uri; } SipAgent.TransferCall(tlf.CallId, -1, toUri, null); transferDone = true; } else if (Top.Tlf[id].State == TlfState.Hold) { SipAgent.HoldCall(activeCalls[0].CallId); System.Threading.Thread.Sleep(50); SipAgent.TransferCall(tlf.CallId, to.CallId, null, "\"" + to.Literal + "\""); transferDone = true; _ToTransfer = to; _FromTransferDisplayName = "\"" + tlf.Literal + "\""; } if (transferDone) { _Logger.Debug("Iniciando transferencia..."); Top.Sip.TlfTransferStatus += OnTransferStatus; AssociateCall = tlf; st = FunctionState.Executing; Top.WorkingThread.Enqueue("SetSnmp", delegate() { string snmpString = Top.Cfg.PositionId + "_" + "TRANSFER" + "_" + tlf.Literal; General.SafeLaunchEvent(SetSnmpString, this, new SnmpStringMsg <string, string>(Settings.Default.TlfFacilityOid, snmpString)); }); } } } State = st; } }
public void Reset() { if (_State != FunctionState.Idle) { ResetDescription(); State = FunctionState.Idle; } }
public void Reset(ListenPickUpMsg msg) { if (_State != msg.State) { StateDescription = msg.State == FunctionState.Executing ? Resources.ListenToStateDescription + " " + msg.Dst : ""; State = msg.State; } }
public void Reset(FunctionState st) { if ((_State == FunctionState.Ready) || (_State == FunctionState.Executing)) { _AssociatePosition = -1; State = st; } }
private void SetNewState(FunctionState newState) { if (CurState == newState) { return; } PreState = CurState; CurState = newState; }
public bool TryGetFunction(Guid functionId, out FunctionState function) { if (!_initialized) { Init(); } Debug.Assert(functionId != Guid.Empty); return(_dicById.TryGetValue(functionId, out function)); }
public bool TryGetUiView(FunctionState function, out UiViewState view) { if (!_initialized) { Init(); } if (function == null || function == FunctionState.Empty) { throw new ArgumentNullException("function"); } return(_viewDicByFunction.TryGetValue(function, out view)); }
// אינטראקציית נתינת אנרג'ייזר לפקמן IEnumerator GivePacManEnergizer() { functionGivePacManEnergizer = FunctionState.middle; // סימון שהפונקציה החלה כדי שתבוצע רק פעם אחת ClickToMove.clickEnabled = false; // הפסקת אפשרות השחקן להזזת הדמות הראשית PickDropObject.PickDropEnabled = false; // הפסקת אפשרות השחקן להרמת/הנחת אוביקטים transform.LookAt(PacMan.transform); // הסטת מבט הדמות הראשית לאוביקט CameraController.angleCurrent = 180f; // סיבוב המצלמה ביחס לדמות הראשית כך שהבועות יראו היטב PacManCanvas.enabled = false; // הסתרת הבועה PacManAnimator.applyRootMotion = false; // הפסקת הגדרה שאנימציה מזיזה את פקמן, כי בהמשך הוא צריך לנוע באמצעות הסוכן PacManAnimator.SetTrigger("idle"); // העברת אנימציה למצב עמידה בבטלה PacMan.transform.Find("PacMan").transform.localPosition = Vector3.zero; // איפוס המיקום של פקמן, שהשתנה בעקבות אנימציית הסיבוב PacMan.transform.Find("PacMan").transform.localRotation = Quaternion.Euler(0, 180, 0); // סיבוב פקמן ב 180 מעלות PacManCanvas.transform.localPosition = new Vector3(0, PacManCanvas.transform.localPosition.y, 0); // הזזת הבועה מעל פקמן GhostAnimator.enabled = false; // הפסקת אנימציה של רוח הרפאים Ghost.transform.localRotation = Quaternion.Euler(0, 60, 0); // קביעת מיקום רוח הרפאים PacManText.text = ReverseString("הוא בדיוק מה שהייתי צריך\nתודה רבה על האנרג'ייזר!"); // הגדרת הטקסט PacManCanvas.enabled = true; // הצגת הבועה yield return(new WaitForSeconds(timeDialogBubbleAppears)); // השהייה PacManCanvas.enabled = false; // הסתרת הבועה Destroy(Energizer); // השמדת הפטריה GhostAnimator.enabled = true; // ביטול הפסקת אנימציה של רוח הרפאים yield return(new WaitForSeconds(3f)); // השהייה Destroy(Ghost); // השמדת רוח הרפאים audioPacManGhost.Play(); // ניגון קול השמדת רוח הרפאים yield return(new WaitForSeconds(3)); // השהייה PacMan.transform.Find("PacMan").transform.localRotation = Quaternion.identity; // ביטול סיבוב פקמן ב 180 מעלות // PacMan.transform.Find("PacMan").eulerAngles = Vector3.zero; // PacMan.transform.Find("PacMan").rotation = Quaternion.identity; yield return(new WaitForSeconds(3)); // השהייה PacManText.text = ReverseString("ולחזור למשחק שלי\nגם אני רוצה לצאת מפה"); // הגדרת הטקסט PacManCanvas.enabled = true; // הצגת הבועה yield return(new WaitForSeconds(timeDialogBubbleAppears)); // השהייה PacManText.text = ReverseString("גברת פפר פקמן\nאני רוצה לחזור לאשתי"); // הגדרת הטקסט yield return(new WaitForSeconds(timeDialogBubbleAppears)); // השהייה PacManText.text = ReverseString("באה מפיצה שחסר בה משולש\nאומרים שההשראה לצורה שלי"); // הגדרת הטקסט yield return(new WaitForSeconds(timeDialogBubbleAppears)); // השהייה PacManText.text = ReverseString("בצורה המיוחדת שיש לי\nאשמח לעזור לך"); // הגדרת הטקסט yield return(new WaitForSeconds(timeDialogBubbleAppears)); // השהייה PacManCanvas.enabled = false; // הסתרת הבועה ClickToMove.clickEnabled = true; // ביטול הפסקת אפשרות השחקן להזזת הדמות הראשית PickDropObject.PickDropEnabled = true; // ביטול הפסקת אפשרות השחקן להרמת/הנחת אוביקטים functionGivePacManEnergizer = FunctionState.end; // סימון שהפונקציה הסתיימה כדי להמשיך לשלב הבא }
private FunctionState[] _GetGroup1FunctionMapping(List <Func> functionList) { var functionsInGroup = 5; FunctionState[] functionMapping = new FunctionState[functionsInGroup]; for (var cursor = 0; cursor < functionsInGroup; cursor++) { var function = functionList.FirstOrDefault(o => o.FunctionIndex == cursor); functionMapping[cursor] = function != null ? (function.State == FuncStates.On ? FunctionState.On : FunctionState.Off) : FunctionState.Off; } return(functionMapping); }
private async Task SendNotificationAsync( EventGridEvent[] eventGridEventArray, string hubName, string functionName, string version, string instanceId, string reason, FunctionState functionState) { string json = JsonConvert.SerializeObject(eventGridEventArray); StringContent content = new StringContent(json, Encoding.UTF8, "application/json"); Stopwatch stopWatch = Stopwatch.StartNew(); // Details about the Event Grid REST API // https://docs.microsoft.com/en-us/rest/api/eventgrid/ using (HttpResponseMessage result = await httpClient.PostAsync(this.config.EventGridTopicEndpoint, content)) { var body = await result.Content.ReadAsStringAsync(); if (result.IsSuccessStatusCode) { this.config.TraceHelper.EventGridSuccess( hubName, functionName, functionState, version, instanceId, body, result.StatusCode, reason, stopWatch.ElapsedMilliseconds); } else { this.config.TraceHelper.EventGridFailed( hubName, functionName, functionState, version, instanceId, body, result.StatusCode, reason, stopWatch.ElapsedMilliseconds); } } }
public void EventGridNotificationFailed( string TaskHub, string AppName, string SlotName, string FunctionName, FunctionState FunctionState, string InstanceId, string Details, int StatusCode, string Reason, FunctionType FunctionType, string ExtensionVersion, bool IsReplay, long LatencyMs) { this.WriteEvent(211, TaskHub, AppName, SlotName, FunctionName, FunctionState, InstanceId, Details, StatusCode, Reason, FunctionType, ExtensionVersion, IsReplay, LatencyMs); }
public static FunctionTr Create(FunctionState function) { if (function == null) { return null; } return new FunctionTr(function.AcDomain) { AppSystemId = function.AppSystem.Id, AppSystemCode = function.AppSystem.Code, AppSystemName = function.AppSystem.Name, Code = function.Code, CreateOn = function.CreateOn, Description = function.Description, DeveloperId = function.DeveloperId, Id = function.Id, IsManaged = function.IsManaged, IsEnabled = function.IsEnabled, ResourceCode = function.Resource.Code, ResourceTypeId = function.Resource.Id, ResourceName = function.Resource.Name, SortCode = function.SortCode }; }