SQL Server 查询调用 .NET 方法的起点



我正在寻找技术学(使用什么,搜索什么)的起点来满足我的需求。

一方面,我有一个.NET Web服务,可以向我们的员工发送短信。这是我的警报服务。服务本身接受一些参数作为输入,然后向主要的移动服务提供商发送 JSON 请求,然后使用我们的短代码将文本消息传递给 suscriber。

另一方面,我有我的桌面软件用于操作,它使用 Web 服务为我编程的任何业务逻辑发送 SMS。该软件连接到Microsoft SQL 服务器数据库 (2012)。这就是我想在数据库级别工作的地方。

我正在寻找一种从 SQL 查询调用我的 Web 服务方法的方法,以便稍后实现将与 SQL 代理或某些触发器(首选方法)一起运行的内容。或者一种直接从SQL Server直接发送JSON请求的方法。

我听说过SQL CRL,但它似乎是一个很大的话题,在开始学习它之前,我只想确保它是我需要的正确东西,或者我是否走错了路。

有什么建议吗?

谢谢

编辑:这是我想从 SQL 查询/sp/function/trigger 调用的 .NET 代码。

var smsService = new SMSWebMethod.ServiceClient();
var smsRequest = new Dictionary<string, string>();
smsRequest["user"] = "our username with the provider";
smsRequest["pass"] = "our password with the provider";
smsRequest["address"] = "The suscriber";
smsRequest["requestId"] = new Guid().ToString();
smsRequest["message"] = "The actual SMS message";
smsRequest["sender"] = "our short code";
smsRequest["modifiedByID"] = CurrentUser.Employee.ID.ToString();
smsRequest["MemberContactID"] = theMemberContactID.ToString();
smsRequest["AppointmentID"] = new Guid().ToString();
smsRequest["UserID"] = theUserID.ToString();
smsRequest["IsQuestion"] = requireAnswer.ToString();
smsService.SendSMS(smsRequest);

如果我理解它,现在你的架构看起来像这样:

短信服务数据库      \         /      \       /        桌面

您希望它看起来更像这样:

短信服务<----数据库      \          /      \        /        桌面

这听起来有点混乱:一切都在与其他一切交谈。那条路就是疯狂。如果有的话,您可能已经准备好使用应用程序服务器:

短信服务数据库      \          /      \        /        应用服务器             |             |          桌面

其中,应用程序服务器是面向服务的体系结构中服务层的起点。请注意,使用此体系结构时,桌面客户端再也不会直接与数据库通信。

还记得我说的是"如果"。我真的认为要做的是在桌面级别处理它。如果这些消息是代理作业的结果,则可能是时候考虑如何计划这些代理作业,以便从可以处理日志记录和警报的计划程序应用程序调用它们。

相关内容

最新更新