如何解决来自外部服务器的ASP.NET Core Web Api日志事件
我在ASP.NET Core Web Api中有一项服务,它将接收SPA用户的请求。 每个用户都是连接到分支机构的电话接线员。 在我的应用程序中,我使用电话提供商。该提供程序提供了一些在我的项目中引用的DLL。 对于在我的应用程序中提出登录请求的每个操作员,我需要 使用可用于集成的DLL向电话提供商进行注册。 在提供者处注册操作员时,将返回IInstance类型的对象以及操作员的信息。 在此对象中,我需要注册操作员将发生的事件,例如传入呼叫,呼叫结束等。 所有这些事件都是由电话提供商的服务器触发的,而我的应用程序需要监听这些事件, 并通过SignalR通知SPA。
我的问题是:如何保存提供程序返回的IInstance对象以及所有已注册的事件, 每个登录我的服务的用户?
是否可以使用会话存储这些实例?
public async Task<IActionResult> Dial(string user)
{
IInstance instance = _integrationService.Login(user);
// I need my application to listen to these events,even after the request ends.
instance.LoggedAgent.IncomingSessionEvent += Agent_IncomingSessionEventHandler
instance.LogoutEvent += Instance_LogoutEventHandler;
return Ok();
}
谢谢!
解决方法
在会话中存储对象的实例,对此不确定。我建议您宁愿将用户信息存储在会话中,并在需要时使用它来初始化实例。
如果不是这种情况,则可以将实例序列化为xml并将其保存在会话或数据库中。这样,您随时可以在需要时随时将其反序列化为对象实例。
我希望这是有道理的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。