asp.net-core - 消息未保存到数据库
问题描述
我在将消息保存到我的数据库时遇到问题。我正在使用 Twilio 帐户并发送了消息。但是,我无法将其保存到数据库中。在我看来,我输入一条消息,然后通过发件人发送。但是,在检查时_context.Messages.Add(message);
我收到一条消息:
“该功能需要所有线程运行”
所以我单击它旁边的小图标,然后它显示 null 而不是上面的消息。
public class ApplicationDbContext : DbContext
{
public DbSet<Message> Messages { get; set; }
public ApplicationDbContext()
: base()
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}
public class MessageController : Controller
{
private ApplicationDbContext _context;
private IMessageSender _messageSender;
public MessageController(IMessageSender messageSender)
{
this._messageSender = messageSender;
_context = new ApplicationDbContext();
}
[ActionName("MessageStatus")]
public ActionResult Send(Message message)
{
var viewModel = new MessageViewModel
{
Message = new Message()
};
_context.Messages.Add(message);
_messageSender.Send(message);
return View("MessageStatus", viewModel);
}
}
my view
@model MessagingWebApplication.ViewModel.MessageViewModel
@{ ViewBag.Title = "New";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>New Sms</h2>
@using (Html.BeginForm("MessageStatus", "Message"))
{
@Html.ValidationSummary()
<div class="form-group">
@Html.LabelFor(m => m.Message.Reciever)
@Html.TextBoxFor(m => m.Message.Reciever, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Message.Reciever)
</div>
<div class="form-group">
@Html.LabelFor(m => m.Message.Sender)
@Html.TextBoxFor(m => m.Message.Sender, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Message.Sender)
</div>
<div class="form-group">
@Html.LabelFor(m => m.Message.Body)
@Html.TextBoxFor(m => m.Message.Body, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Message.Body)
</div>
@Html.HiddenFor(m => m.Message.Id)
@Html.AntiForgeryToken()
<button type="submit" class="btn btn-primary">Send</button>
解决方案
添加消息后需要保存
_context.Messages.Add(message);
_context.SaveChanges();
或异步
await _context.Messages.AddAsync(message);
await _context.SaveChangesAsync();
推荐阅读
- alloy - 合金分析仪:量词和集合产品
- reactjs - 是否可以通过 web 应用程序(如 reactjs)将 APDU 命令发送到读卡器上的卡片?
- java - IP 模式检查的正则表达式在 Java 中返回 false
- javascript - 子类中设置变量的 JS 模块/类问题
- r - ggplot中网格的热图/密度图
- r - 使用 PROJ4 CRS 在 lat lon 和 UTM 之间使用 R 进行坐标变换是否仍然有效?
- authentication - Webflow 身份验证与私有 API 集成
- javascript - 如何为包含具有类型安全性的对象数组的 var 创建一个接口?
- android - ConstraintLayout & BottomNavigationView,fragment和控件出现在下方。GoogleMaps v3 填充?
- unit-testing - 如何在 Clojure 测试中测试预期异常的消息?