gpt4 book ai didi

c# - 自动映射内部服务引用

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:36 25 4
gpt4 key购买 nike

我正在创建一个使用服务引用的 C# 库。我不希望在图书馆外可以访问整个服务。所以我首先使用 AutoMapper 将我需要的服务类复制到我的库中的类似类中。第二步是将服务引用设为内部。我现在的主要问题是似乎没有任何支持内部访问的自动映射库。我试过了 AutoMapper , EmitMapper , 和 ValueInjecter库和我所有复制的对象都有空值/默认值。 AutoMapper 有一个 github issue与支持内部相关,但没有迹象表明我们什么时候会看到它。

我决定尝试一些奇怪的事情,即使用 JSON.NET 序列化服务类。然后将其反序列化到库类中。这工作得很好,但我想知道在性能方面这与 AutoMapper 这样的库相比如何。我知道就性能而言,EmitMapper 是王者。

有没有人找到适用于内部构件的自动映射解决方案?

最佳答案

我创建了一个快速 console program测试每个库。

我创建了 10,000 个对象,这些对象具有 6 个设置为 GUID 的字符串属性。每个测试都遍历这些对象,将它们自动映射到不同类型的新对象。我为每个自动映射库运行测试 10 次,并计算每个测试的平均时间跨度(以毫秒为单位)。

  1. EmitMapper 平均时间:6.96822 毫秒
  2. ValueInjector 平均时间:71.87465 毫秒
  3. AutoMapper 平均时间:116.4615 毫秒
  4. JsonMapper 平均时间:154.02429 毫秒

这样做的主要目的是确定使用 JSON.NET 是否是其他主要自动映射库的现实替代方案。前面它似乎与 AutoMapper 竞争,所以我想我有我的答案。

关于c# - 自动映射内部服务引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19526982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com