问题标签 [lamar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在 ASP .NET Core 2.1 中注入配置值
与其他人一样,我不同意将 IOptions 注入可能需要它的每个服务中,并寻找其他选项。我的目标是注入服务所需的值,仅此而已。我想出了以下内容,它可以工作且功能正常,但它是否可靠且可维护?似乎太简单和有效,就像我错过了一些东西。
要求:
- 加载自定义 json 文件
- 强类型
- 不要过度暴露
- 可维护
我想出了以下内容。
使用 LAMAR,因此如下:
我的 json 文件如下所示:
要使用它,我只需将配置对象传递给创建服务实例的函数,并仅将需要的内容注入服务。
asp.net-core - Lamar IoC 容器设置问题
我一直试图让 Lamar 为我们的依赖注入工作,但我缺乏这样做的经验让我有些悲伤。
我有一个简单的虚拟控制器:
TestService 内部是一个接口存储库,我希望 DI 应用到该存储库。
我已将 UseLamar 添加到我的 Program.cs 中,我的 startup.cs 如下所示:
通过阅读文档,我相信 Lamar 应该自动将我的接口映射到我的类型,因为它们具有相同的名称(IRepository -> Repository),尽管这不是我所看到的。
我很确定我错过了一些东西,但是我已经阅读了文档,并且一直在尝试用谷歌搜索真实的例子,但无济于事。Startup.cs 中是否缺少某些行?我的服务是否需要构造函数来设置存储库?
c# - 如何在运行时传递参数?
我们正在从 StructureMap 迁移到 Lamar,但我找不到用于在运行时传递参数的“Lamar 版本”。
我们有一个需要字符串参数的类(伪代码):
……还有一家工厂
实际上还有其他依赖项。
如何为名为的构造函数参数说 LamarGetInstance()并IMyRepository使用值 xy accountId?
c# - 使用 Lamar 搭建实体框架控制器
我在 .NET Core 2 项目中设置了 Lamar:
但是,当尝试将 Scaffold API Controller 与操作一起使用时,使用 Entity Framework我遇到以下错误:
运行所选代码生成器时出错:“没有为此对象定义无参数构造函数。”
查找此https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/?view=aspnetcore-2.2#update-main-method-in-programcs建议这可以显示在尝试仍使用 .NET 1.x 结构的 ASP.NET Core 2 项目中。
我发现了一个 hacky 解决方法,我将在下面发布,这表明脚手架代码生成可能与 Lamar 有问题。但是,有没有更好的解决方案?你能设置 Lamar 来处理实体框架代码生成吗?
c# - Why after referencing nuget, my packed tool size increased much more comparing with size info provided in nuget.org?
Why is there such huge difference between what I see in nuget.org under package download size and size increase after packing with given nuget?
For example: In nuget.org I see that download size of Lamar package is only 140.56 KB. But size of my package grew from ~450KB to ~8 MB after I added Lamar to my project and packet it as dotnet global tool. Then I tried to add different nuget for IOC Autofac. In nuget.org download size of it is 272.5 KB (bigger). But after referencing it and packing my global tool I found that now my package is much smaller (only 516KB vs ~8MB). Why?
Is there any better way to find / predict how much bigger will your nuget package will become after referencing some new nuget?
structuremap - StructureMap Forward() 的 Lamar 替代方案
在 StructureMap 中,您可以声明一个Forward<,>语句,这将允许注册单个具体实例,以由StructureMap 文档中的多个接口解析:
我正在考虑可能迁移到 Lamar,它是 StructureMap 的替代品,但我在注册选项中没有看到任何与此匹配的内容。
这在拉马尔可能吗?
structuremap - 如何在 ASP.NET Core Web 应用程序中使用 Lamar 作为 NancyFx 中的 IOC?
我正在构建一个 ASP.NET Core REST 服务。到目前为止,我有一个(工作的)ASP.NET Core (2.2) Web 应用程序,我已经将其更改为使用 Lamar IOC。它工作得很好。
我现在想将 Nancy(fx) 添加到此应用程序中,因为我真的想要我的 Nancy 路由。(我有点迷恋南希)。
如何将我的 ASP.NET IOC 容器连接到 Nancy,这样我就不会得到一个 Lamar 容器和一个 TinyIOC 容器。
我已经设法用结构图做到了这一点——非常成功,但这很容易——因为有一个 StructureMapNancyBootstrapper。我看过创建一个 LamarNancyBootstrapper - 但在 ASP.NET 环境中,这似乎很棘手/困难/奇怪?
有没有人做过这样的事情?
顺便提一句。我可以在 StartUp.Configure 方法中获取“原始” Lamar IContainer - 所以这不是问题。问题似乎与南希有关。
我设法做到了这一点,它似乎有效(有点)。不确定这是否朝着正确的方向发展。使用下面的代码 - NancySimpleViewEngine 尚未正确创建......所以,我仍然必须遗漏一些东西。
.net - Lamar 在使用 ServiceRegistry 时导致 500.30 错误
我使用 Lamar 作为 .Net Core (2.2) Web API 的 DI。
程序.cs
当我在 Startup.cs 有以下代码时,程序启动正常。
一旦我将方法更改为此
启动 Web API 将显示
在事件查看器中有几个错误。
和
c# - 我们如何在注册 ServiceRegistry 时注入依赖项
我想调用一个静态类,我需要在其中传递 IConfiguration,它将在启动时调用
静态类留在基础设施层我不想在主应用程序中添加引用
启动.cs
我不想在主调用应用程序(在本例中为 Web 应用程序)中添加对基础设施层的引用
我需要传递留在基础设施层中的 IConfiguration 对象 SomeRegistry 类在下面的代码中,我总是将配置设置为 null
SomeStaticRepository.Initialize 是一个静态类,我在其中分配值,在我的要求中,我将直接调用一个静态类。
SomeRegistry.cs
