在 GitHub 中,我在名为“main”的分支上激活了以下规则:
但它仍然允许我直接推送到受保护的分支。
我们只有 1 个分支,并且设置显示规则应用于 1 个分支。我不确定我还需要更改哪些其他设置。
有一个简单的 ajax POST 请求,必须字符串化一个简单的类并将其传递到 POST 请求的正文中,但服务器端的Person参数具有空(默认)值
// javascript
var person = { "FirstName": "Andrew", "LastName": "Lock", "Age": "31" };
$.ajax({
type: "POST",
url: "/UpdatePostBody?handler=Abc",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: JSON.stringify(person),
headers: {
RequestVerificationToken:
$('input:hidden[name="__RequestVerificationToken"]').val()
},
})
.done(function (result) {
console.log(result);
});
Run Code Online (Sandbox Code Playgroud)
// C# code
public IActionResult OnPostAbc(Person person)
{
return new JsonResult("my result");
}
Run Code Online (Sandbox Code Playgroud)
在服务器端,有一个简单的 ASP.NET Core Razor 页面,其中包含一个被命中并返回结果的方法,但person参数成员没有值。
在我的 ASP.Net Core 6 应用程序中,名为 MqttClientService 的 BackgroundService 任务运行一个 MQTTNet 客户端,该客户端处理传入的 mqqt 消息并用消息进行响应以指示它已成功。
我已经从 MQTTNet 存储库获取了示例控制台应用程序来使用Console.ReadLine(),但这对于我的用例来说感觉就像是一种黑客攻击。有没有更好的方法来让BackgroundService处理传入的消息而不需要不断地重新启动?
有一个使用 Asp.Net Core 和 MQTTNet 版本 3 的示例,但它使用由接口实现的句柄,而不是库现在使用的异步事件:MQTTNet 的升级指南。
任何信息将不胜感激,谢谢。
Services/ 中的 MqttClientService.cs
using MQTTnet;
using MQTTnet.Client;
using System.Text;
namespace MqttClientAspNetCore.Services
{
public class MqttClientService : BackgroundService
{
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
await Handle_Received_Application_Message();
}
}
public static async Task Handle_Received_Application_Message()
{
var mqttFactory = new MqttFactory();
using (var mqttClient …Run Code Online (Sandbox Code Playgroud)