C# 用C语言发送通知消息
作为学习的一部分,我必须用C语言开发一个已经构建好的Windows窗体应用程序。 此应用程序应按如下方式工作。此应用程序将用于由主管及其经理组成的工作场所部门。主管人员将处理与各种问题有关的某些调查结果,一旦他们调查了一项调查结果,此应用程序就可以上载该调查结果。但是,要发布该调查结果,应获得部门经理的批准。我的任务是设置一个按钮,一旦按下该按钮,经理就会收到一条通知消息,例如,您有一个查找结果需要获得主管姓名的批准。管理人员将使用他们的用户名和密码登录系统,经理也有一个单独的用户名和密码。主管和经理将在同一台服务器上,如果经理在发送通知时未登录到应用程序,则在他登录到应用程序时应显示该通知。C# 用C语言发送通知消息,c#,C#,作为学习的一部分,我必须用C语言开发一个已经构建好的Windows窗体应用程序。 此应用程序应按如下方式工作。此应用程序将用于由主管及其经理组成的工作场所部门。主管人员将处理与各种问题有关的某些调查结果,一旦他们调查了一项调查结果,此应用程序就可以上载该调查结果。但是,要发布该调查结果,应获得部门经理的批准。我的任务是设置一个按钮,一旦按下该按钮,经理就会收到一条通知消息,例如,您有一个查找结果需要获得主管姓名的批准。管理人员将使用他们的用户名和密码登录系统,经理也有一个单独的用户名和密码。主管
有人知道用C语言发送此类通知消息的详细信息吗?我在谷歌做了很多尝试,但都没有成功。如果有人能在这方面帮助我,我将不胜感激 要做到这一点,您需要为消息或通知创建一个数据库抽象。架构可能如下所示:
Messages
--------
Id uniqueidentifier not null primary key
UserId uniqueidentifier not null
IsRead bit null
Text varchar(MAX) null
setTimeout(function() {
$.ajax({
url: '@Url.Action("GetMessagesForUser")',
type: 'get',
dataType: 'json',
success: function(data) {
console.log(data); // new messages
}
});
}, 3000);
因此,在读取消息时,您可能会发送一个AJAX请求来更新IsRead字段,以显示消息已被读取。您还可以使用AJAX检查用户是否有任何尚未读取的消息,并在UI上显示它们
如果您有任何其他问题,请告诉我们
编辑:如何将AJAX与MVC和jQuery结合使用
在控制器中创建如下操作:
[Authorize]
public JsonResult GetMessagesForUser()
{
// get user ID
Guid userId = YourIdentityProvider.User.Id;
// check messages like this:
var messages = from m in ctx.Messages
where m.UserId == userId
&& m.IsRead == false
select m;
return Json(messages.ToList(), JsonRequestBehavior.AllowGet);
}
然后,在您的视图中,每隔几秒钟检查一条新消息,如下所示:
Messages
--------
Id uniqueidentifier not null primary key
UserId uniqueidentifier not null
IsRead bit null
Text varchar(MAX) null
setTimeout(function() {
$.ajax({
url: '@Url.Action("GetMessagesForUser")',
type: 'get',
dataType: 'json',
success: function(data) {
console.log(data); // new messages
}
});
}, 3000);
在这种情况下,使用event似乎很好。当按下按钮时,按钮被按下的事件将被触发,并且由于经理和高管已订阅了该事件,他们将收到通知电子邮件是否不足?它也将满足需要。出现在经理任务栏中的通知消息将是最佳解决方案。不过,如果你能引导我找到一封自动生成的电子邮件,这也会很有帮助,因为我现在手头上没有任何解决方案。Tks&我会试试这些,让你知道。如果你能提供我一个链接,如果你有更多的阅读,谢谢。其他方式也欢迎。对不起。我需要澄清一下。我需要一种发送消息的方法。不检查邮件是否已读取。您可以通过将邮件保存到数据库来发送邮件。然后,在客户端,使用AJAX检查用户是否有未读消息。您使用的是MVC还是webforms?@user1477388是MVC,请您进一步澄清。@Udith发布了一个新的答案
this.yourButton.Click += new System.EventHandler(ManagerEventHandler);
this.yourButton.Click += new System.EventHandler(ExecutiveEventHandler);
private void ManagerEventHandler(object sender, EventArgs e)
{
//TODO
}
private void ExecutiveEventHandler(object sender, EventArgs e)
{
//TODO
}