ASP.NET中的Akka.NET actor系统
|
我在ASP.NET中创建了一个RESTful API的服务,它在IIS中托管.在这个服务中,我想用Akka.NET创建一个演员系统. 创建演员系统后: var actorSystem = ActorSystem.Create("myActorSystem");
抛出以下异常:
演员系统固有地是一个并发系统,在演员之间交换异步消息.如here所述,这个actor系统在IIS取消AppDomain之后将无法生存,这可能是为什么抛出上述异常. This article解释了如何在ASP.NET中运行后台任务.但是,由于我无法控制Akka.NET可能创建的后台任务的生命周期,所以我看不到我可以使用这个作为我的actor系统. 有没有办法使这项工作,或者我应该放弃在ASP.NET应用程序中拥有一个actor系统的想法? 编辑:我也看到关于implementing a REST service using Akka的Stackoverflow有一个问题.关于类似于Spray toolkit的解决方案的任何建议,但对Akka.NET的工作将是受欢迎的. 解决方法将ActorSystem作为一个静态类容器中的一个共享属性,这样您可以从其余的应用程序访问它.演员系统初始化/处理可以通过以下方式完成:Global.asax – 在Global.asax Application_Start中使用ActorSystem.Create(…),并将其与Application_End上的system.Shutdown()配置. 请记住,只有在第一次请求之后,IIS将启动您的Web应用程序,并在空闲时间后自动将其关闭.因此,如果您希望Akka演员系统连续运行,您的部署脚本将在发布后ping应用程序并设置空闲超时(link)足够长. 第二个选择 分离您的Actor System逻辑并将其部署,例如,作为Windows服务(或Linux deamon).打开Akka.Remoting并创建代理客户端,将所有应用程序长期运行的敏感任务转发到外部服务.当应用程序逻辑必须连续工作时,类似的解决方案通常用于调度程序或事件总线等事务. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net 读取xml文件里面的内容,绑定到dropdownlist中
- asp.net – 如何在标记中使用扩展和实用程序方法?
- asp.net – 没有使用WebApi委托处理程序分配内部处理程序
- asp.net-mvc-3 – 如何使用DropdownList助手正确创建MultiS
- asp.net-mvc – 实时ASP.NET MVC Web应用程序
- ASP.NET MVC – 如何从局部视图中获取当前操作?
- asp.net-mvc – 图像优化框架未初始化
- 如果没有授权,如何将用户重定向到ASP.NET页面?
- 用户登录时,ASP.NET Core更改EF连接字符串
- asp.net-mvc – 如何在验证汇总中显示MVC 3客户端验证结果
- ASP.NET Core 1.0 WebSocket安装?
- .net – 优雅的foreach – 在Razor构建
- asp.net-mvc – FormsAuthentication LoginUrl
- asp.net – 隐藏字段vs viewstate
- asp.net – 抽象通用ODataController类导致“没有
- asp.net-mvc – ASP.Net MVC – HTTP状态代码(即
- asp.net-mvc – 同时发送文件并重定向到新页面的
- ASP.NET MVC 3布局所有子视图中的ViewBag数据
- asp.net – 如何在web.config中指定根(/)位置?
- asp.net-mvc-5 – 我需要在MVC Razor中编码属性值
