C# 用C语言发送通知消息

C# 用C语言发送通知消息,c#,C#,作为学习的一部分,我必须用C语言开发一个已经构建好的Windows窗体应用程序。 此应用程序应按如下方式工作。此应用程序将用于由主管及其经理组成的工作场所部门。主管人员将处理与各种问题有关的某些调查结果,一旦他们调查了一项调查结果,此应用程序就可以上载该调查结果。但是,要发布该调查结果,应获得部门经理的批准。我的任务是设置一个按钮,一旦按下该按钮,经理就会收到一条通知消息,例如,您有一个查找结果需要获得主管姓名的批准。管理人员将使用他们的用户名和密码登录系统,经理也有一个单独的用户名和密码。主管

作为学习的一部分,我必须用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
}