de WebHooks desteklemez ama hala çalışır. Bu arada, işleyici koduna bakabilir ve ASP.NET Core için benzer bir şey yapabilirsiniz.
Bu yardımcı olur umarız!
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace ApplicationInsightsMonitor.Controllers
{
[Produces("application/json")]
[Route("api/alerts")]
public class AlertController : Controller
{
[HttpPost]
public async Task<ActionResult> Post([FromBody] AIPayloadModel payload)
{
if (payload == default(AIPayloadModel))
{
return NotFound();
}
// Save to database
return Ok();
}
}
public class AIPayloadModel
{
public enum AIPayloadStatus
{
Activated,
Resolved
}
public class AIPayloadContextModel
{
public enum AIConditionType
{
Metric,
Event
}
public enum AIMetricUnit
{
Bytes,
BytesPerSecond,
Count,
CountPerSecond,
Percent,
Seconds
}
public enum AIAggregation
{
Average,
Last,
Maximum,
Minimum,
None,
Total
}
public class AICondition
{
[JsonProperty("metricName")]
public String Name { get; set; }
[JsonProperty("metricUnit")]
public AIMetricUnit Units { get; set; }
[JsonProperty("metricValue")]
public Decimal Value { get; set; }
[JsonProperty("threshold")]
public Decimal Threshold { get; set; }
[JsonProperty("windowSize")]
public TimeSpan WindowSize { get; set; }
[JsonProperty("timeAggregation")]
public AIAggregation Aggregation { get; set; }
[JsonProperty("operator")]
public String Operator { get; set; }
}
[JsonProperty("timestamp")]
public DateTime Time { get; set; }
[JsonProperty("id")]
public String Id { get; set; }
[JsonProperty("name")]
public String Name { get; set; }
[JsonProperty("description")]
public String Description { get; set; }
[JsonProperty("conditionType")]
public AIConditionType ConditionType { get; set; }
[JsonProperty("condition")]
public AICondition Condition { get; set; }
[JsonProperty("subscriptionId")]
public String SubscriptionId { get; set; }
[JsonProperty("resourceGroupName")]
public String ResourceGroupName { get; set; }
[JsonProperty("resourceGroupType")]
public String ResourceGroupType { get; set; }
[JsonProperty("resourceName")]
public String ResourceName { get; set; }
[JsonProperty("resourceType")]
public String ResourceType { get; set; }
[JsonProperty("resourceRegion")]
public String ResourceRegion { get; set; }
[JsonProperty("portalLink")]
public String PortalLink { get; set; }
}
[JsonProperty(PropertyName = "status")]
public AIPayloadStatus Status { get; set; }
[JsonProperty(PropertyName = "context")]
public AIPayloadContextModel Context { get; set; }
[JsonProperty(PropertyName = "properties")]
public Dictionary<String, String> Properties { get; set; } = new Dictionary<String, String>();
}
}
anahtar parametre üzerinde [FromBody] kullanarak ve tam olarak modelinde sağ JSON deserialization yaşıyor: Henrik
.Net çekirdeği gelecekteki bir plandır: https://github.com/aspnet/WebHooks/issues/5 –
Elbette, GitHub iş parçacığında da aynı soruyu sordum. Her neyse, şimdi cevabı biliyorum. Teşekkürler! –
.Net çekirdek desteği GitHub'da kullanılabilir: https://github.com/aspnet/WebHooks/blob/dev/README.md –