小编rom*_*man的帖子

如何在 Kotlin 中将 actor 定义为一个类

actorKotlin 协程库中有一个概念:

fun CoroutineScope.counterActor() = actor<CounterMsg> {
    var counter = 0 // actor state
    for (msg in channel) { // iterate over incoming messages
        when (msg) {
            is IncCounter -> counter++
            is GetCounter -> msg.response.complete(counter)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

文档说

一个简单的actor可以写成一个函数,但是一个具有复杂状态的actor更适合一个类。

什么是在 Kotlin 中定义为类的演员的好例子?

reactive-programming actor kotlin

6
推荐指数
1
解决办法
402
查看次数

MiniProfiler,EntityFramework代码优先和后台任务nullreference

我首先在我的mvc3项目中使用EF 4.2代码.

miniprofiler工作得很好(sql + mvc),但是我遇到了异步任务的问题.

我用这种方式表演(这个方法好吗?我对此感到有点不安new DatabaseContext())

public static void PerformAsycAction(this User user, Action<User> action)
{
   ThreadPool.QueueUserWorkItem(_ =>
   {
     var context = new DatabaseContext();
     MiniProfilerEF.Initialize();
     var consistantUser = context.Set<User>().Get(user.Id);
     action(consistantUser);
     context.SaveChanges();
   });
}
Run Code Online (Sandbox Code Playgroud)

我在Application_Start中有适当的行:

  protected void Application_Start()
    {
        MiniProfilerEF.Initialize();
        ...
    }
Run Code Online (Sandbox Code Playgroud)

在db的第一个操作期间抛出了一个excpetion,action(consistantUser); 这里是跟踪:

在MvcMiniProfiler.MiniProfiler.AddSqlTiming(SqlTiming stats)中的C:\ Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\MiniProfiler.cs:MvcMiniProfiler.SqlTiming..ctor中的第274行(DbCommand命令,ExecuteType类型,MiniProfiler profiler) )在C:\ Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\SqlTiming.cs:第137行,位于C:\ Users\sam\Desktop\mvc-中的MvcMiniProfiler.SqlProfiler.ExecuteStartImpl(DbCommand命令,ExecuteType类型) mini-profiler\MvcMiniProfiler\SqlProfiler.cs:第39行,位于C:\ Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\SqlProfiler.cs中的MvcMiniProfiler.SqlProfilerExtensions.ExecuteStart(SqlProfiler sqlProfiler,DbCommand命令,ExecuteType类型):位于MvcMiniProfiler的C:\ Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\MiniProfiler.IDbProfiler.cs:第14行的MvcMiniProfiler.MiniProfiler.MvcMiniProfiler.Data.IDbProfiler.ExecuteStart(DbCommand profiledDbCommand,ExecuteType executeType)第93行. Data.ProfiledDbCommand.ExecuteDbDataReader(CommandBehavior behavior)in C:\ Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\Data\ProfiledDbCommand.cs:System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands上System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)的第158行( EntityCommand entityCommand,CommandBehavior行为)

我究竟做错了什么?任何帮助将不胜感激.

编辑:我尝试再次初始化MiniProfiler(MiniProfilerEF.Initialize();),在执行backgroung任务的线程中(在启动DatabaseContext之前),现在还有另一个例外:

无法将"MvcMiniProfiler.Data.EFProfiledDbConnection"类型的对象强制转换为"System.Data.SqlClient.SqlConnection"类型

实际上,在后台线程中对查询进行概要分析并不是必需的,但它会导致整个线程崩溃,因此应用程序无法正常工作,我不得不讨论整个分析器.有没有办法为它,后台,线程禁用它以防止它崩溃?

c# asp.net-mvc entity-framework mvc-mini-profiler

5
推荐指数
1
解决办法
914
查看次数

在sinatra子应用程序中过滤之前

我有一个Rails应用程序和一个Sinatra应用程序:

routes.rb中:

mount MySinatraApp => "/streaming"
Run Code Online (Sandbox Code Playgroud)

sinatra app:

class MySinatraApp< Sinatra::Base
  ...
  before do
    puts 'hello from sinatra!'
  end
  ...
end
Run Code Online (Sandbox Code Playgroud)

我希望过滤器只能在开始时的请求上运行/streaming...,但是,令我惊讶的是,过滤器运行在对整个Rails应用程序的每个请求上.这样的行为怎么办?之后我可以添加一个正则表达式过滤器before,但我认为这不是一个好的风格.

ruby ruby-on-rails sinatra

5
推荐指数
1
解决办法
1148
查看次数

scala play 读取解析嵌套的 json

我使用implicit val reads映射 Json 像:

{
   "id": 1
   "friends": [
    {
      "id": 1,
      "since": ...
    },
    {
      "id": 2,
      "since": ...
    },
    {
      "id": 3,
      "since": ...
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

到案例类

case class Response(id: Long, friend_ids: Seq[Long])
Run Code Online (Sandbox Code Playgroud)

我只能让它与反映 JSONfriends结构的中间类一起工作。但我从来没有在我的应用程序中使用它。有没有办法编写一个Reads[Response]对象,以便我的 Response 类可以直接映射到给定的 JSON?

json scala playframework playframework-2.0 playframework-json

4
推荐指数
1
解决办法
3661
查看次数

Alpakka卡夫卡vs卡夫卡流

我们正在构建一个高吞吐量,低延迟的流处理应用程序。我们将Apache Kafka用作消息传递平台和数据库。

似乎Kafka Streams和Alpakka Kafka框架有很多共同之处,但是Kafka Streams似乎比Kafka更“原生”,而Alpakka允许我们使用Akka框架的功能。

这两个框架之间的主要区别是什么?

scala akka apache-kafka apache-kafka-streams alpakka

1
推荐指数
1
解决办法
689
查看次数

如何在Sinatra中隐藏url的句子

我有一个Sinatra网络应用程序.

这样的网址:

http://test.com:9393/signup?username=&email=liubei@test.com&nickname=&gender=&birthday=&password=123456&password_confirmation=123456

如何删除url中的params.Make浏览器中的url是:http://test.com:9393/signup

也可以得到参数

ruby url sinatra

0
推荐指数
1
解决办法
728
查看次数