小编Ph0*_*n1x的帖子

使用嵌套字符串反序列化模型表示C#中的json数据

我有一个看起来像这样的模型:

class Nested{
  public string Name {get; set;}
  public int Id {get; set;}
}

class Model{
  [JsonProperty]
  public Nested N {get; set;}
  public string Name {get; set;}
  public int Id {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

并为此标记是这样的:

<input asp-for="Name">
<input asp-for="id">
<input type="hidden" name="n" value="@JsonConvert.SerializeObject(new Nested())">
Run Code Online (Sandbox Code Playgroud)

但是,当我发布此表单时,它在反序列化时失败,因为N字段看起来像编码两次.所以这段代码有效:

var b = JsonConvert.DeserializeAnonymousType(model1, new { N = ""}); 
var c = JsonConvert.DeserializeObject<Nested>(b.N);
Run Code Online (Sandbox Code Playgroud)

但是这个失败了:

var d = JsonConvert.DeserializeAnonymousType(model1, new {N = new Nested()});
Run Code Online (Sandbox Code Playgroud)

我需要的是让它与之合作JsonConvert.DeserializeObject<Model>(model1).我应该改变什么来使它工作?


例:

{"name":"Abc","id":1,"n":"{\"id\":2,\"name\":\"BBB\"}"}
Run Code Online (Sandbox Code Playgroud)

这个问题中描述了同样的问题,但我正在寻找一个优雅,简单的解决方案,这是没有提出的.

asp.net-mvc serialization json asp.net-core-mvc asp.net-core

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

从Heroku上的子目录运行npm

我有一个解决方案,最初包含2个项目:

  • 首先是它的API
  • 第二是客户.

并且这个项目都有自己的依赖关系映射到自己的packages.json文件中,这些文件放在subdir中.

所以问题是如何npm install从heroku上的子目录运行?

我尝试在main npm文件中添加这样的东西

"scripts": {
    "postinstall": "cd my_subdir; npm install"
}
Run Code Online (Sandbox Code Playgroud)

但它显示不起作用 can't cd to my_subdir

heroku node.js npm

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

获取ConfigurationSection的初始JSON表示

让我们假设我们有这个部分 appsettings.json

{
  "crypto":{
      "A": "some value",
      "B": "foo foo",
      "C": "last part"
   },
   ...
}
Run Code Online (Sandbox Code Playgroud)

"crypto"某些加密密钥的json序列化在哪里.

稍后在代码中,我需要做这样的事情:

var keyOptions = CryptoProvider.RestoreFromJson(Configuration.GetSection("crypto"))
Run Code Online (Sandbox Code Playgroud)

但是Configuration.GetSection返回ConfigurationSection实例.有办法以某种方式获取原始的json数据吗?

我认为ConfigurationSection.Value应该做的伎俩,但出于某种原因,它总是如此null.

c# json appsettings asp.net-core-mvc asp.net-core

8
推荐指数
2
解决办法
487
查看次数

在ASP.NET核心世界中使用本地/规范方法来实现Fire-and-forget

使用与websockets相关的一些编码,我发现目前还不清楚,如何正确处理长时间运行的后台进程或通过即发即弃语义执行的任务(这仍然是正确的ASP.NET Core 2.0)因为DI可能存在一些陷阱范围,应用程序重启等

因此,.NET Core如果没有花哨的东西,这样的事情需要在世界上实现,这将是一个很好的理由Hangfire

c# asp.net-core-mvc .net-core asp.net-core

8
推荐指数
2
解决办法
3190
查看次数

INSERT INTO在SQL Server 2012中随着时间的推移变得慢得多

我们有一个非常大的数据库WriteDB,存储原始交易数据,我们使用此表来快速写入.然后使用sql脚本我将数据导入WriteDBReadDB相对相同的表中,但扩展了一些额外的值+关系添加.导入脚本是这样的:

TRUNCATE TABLE [ReadDB].[dbo].[Price]
GO
INSERT INTO [ReadDB].[dbo].[Price]
SELECT a.*, 0 as ValueUSD, 0 as ValueEUR
from [WriteDB].[dbo].[Price] a
JOIN [ReadDB].[dbo].[Companies] b ON a.QuoteId = b.QuoteID
Run Code Online (Sandbox Code Playgroud)

所以最初有大约130万.此表中的行(~50GB).每天他们中的一些人都会添加,其中一些会发生变化,所以现在我们决定不会复杂化逻辑并重新导入所有数据.出于某种原因,由于某种原因,这个脚本的工作时间越来越长,几乎相同数量的数据.首先运行需要~1h,现在已经花了3h

另外SQL Server导入后工作也不顺利.导入(或在其中)如果我尝试运行不同的查询,即使是最简单的,它们通常也会因超时错误而失败.

这种不良行为的原因是什么以及如何解决这个问题?

sql database sql-server sql-server-2008 database-performance

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

Pub/Sub Vs Observer Vs Reactive

当我之前使用像MVVMLight之类的Pub/Sub模式框架时,我已经看到订阅者的调用是同步处理的.从可扩展性的角度来看,像Rx这样的反应式框架是否有助于将pub和sub完全解耦和扩展的可伸缩性?哪种模式有助于扩展?

publish-subscribe reactive-programming observer-pattern

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

注意vue组件中的属性

我在父组件中有一个异步操作,需要通知子,这个操作已经完成.我可以在孩子看房产改变吗?有点像:

new Vue({
   props:['parentReady'],
   watch:{
     parentReady(val){
       alert('parentReady prop was changed');
     }
  }
})
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vuejs2

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

从点到此曲线的最短距离

我需要找到多个点到表格曲线的距离: f(x) = a^(k^(bx))

我的第一个选择是使用它的导数,使用带有导数倒数的形式的线,给出它的坐标Point并与原始曲线相交.最后,我们用简单几何计算点之间的距离.

那是我经常遵循的数学过程.我需要节省时间(因为我正在进行遗传算法程序)所以我需要一种有效的方法来做到这一点.想法?

c# geometry linear-programming

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

长数据库查询结果与并发写入同时

我很好奇.我有这样的流程:我们有大量的数据集合/表.并且有一些select长期需要3秒的定向查询.

然而,我们期待高度并发的环境,每秒我们在数据库中获得100条新记录.

所以假设我们有一个查询,在查询开始之前,我们有1000个项目满足这些查询.查询需要3秒,每秒有50个新项目与添加到数据库的查询匹配.我的问题是 - 这是这个查询返回给我的结果(它仍然是1000或1150或介于两者之间)以及它如何依赖于不同的数据库引擎(SQL,NoSQL).Ø

这不是关于确切数字的问题,而是更多 - 为什么它将是那些数字.


看起来问题有点宽泛.让我们用MySQL,Postgres,MongoDB和Cassandra限制数据库.

sql database concurrency nosql database-performance

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

使用java/scala代码连接node.js进程的最快方法

我有一个用java/scala实现的计算库.我还有一些node.js代码为我的应用程序提供服务.我需要找到一种方法,如何以最大的性能连接这2个世界,同时还要考虑简单性.我正在考虑通过共享内存进行进程间通信,但是在node.js中找不到任何成熟的方法

这应该主要作为代理机制从node.js代码调用一些java(理想情况下是任何)代码.从node.js到java方面,它只是请求元数据传递,但是从java到node.js有时可能会返回重要的数据(假设上边界为100-200 kb,90%左右为600-1000字节)但是,这个请求的数量可能很大.

认为OpenMP可能是一个选项,但也找不到Node的任何openmp协议实现.但是,对于java也没有明确的项目.


看起来目前的时刻有几种选择:

  1. 本机扩展+ Java不安全(目前通过反射提取,应该在JDK 9中打开)并在基于C/C++的env中使用共享内存(需要调查和开发.节点的松散 - > c - > Java可能高于共享内存的好处)
  2. 使用socket(在linux上相当快,不确定Windows,跨平台)
  3. FastCGI(仍然使用套接字在内部传输,因此将慢于1个选项)
  4. ZeroMQ/Nanomessage作为传输层(再次插入内部,但简化了开发)
  5. @大卫的回答.但是不能说具体一点.需要调查.

java performance ipc shared-memory node.js

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