草庐IT

SPI_IOC_MESSAGE

全部标签

c# - 如何在每个请求上从 IoC 容器解析 Web API 消息处理程序/DelegatingHandler

ThisMSDNarticle描述了如何在ASP.NETWebAPI中有效地使用HTTP消息处理程序来“装饰”请求。此外,本文还展示了以下代码,用于将您的自定义处理程序注册到WebAPI管道中:config.MessageHandlers.Add(newMessageHandler1());我在使用这种方法时遇到的问题是,这会将MessageHandler1有效地注册为单例。当处理程序本身没有状态也没有依赖关系时,这很好,但是在基于SOLID设计原则的系统中,这些处理程序很可能会有自己的依赖关系,并且很可能其中一些依赖关系需要一个比单例短的生命周期。如果是这种情况,则不应将此类消息处理

c# - 控制台应用程序的 IOC?

谁能想到一个好的解决方案来将IOC放入控制台应用程序中?目前我们只是使用一个带有以下方法的静态类:publicstaticTResolve(){returndependencyResolver.Resolve();}我希望体验是无缝的,但想不出从控制台应用程序实现这一点的方法。 最佳答案 您必须在某处调用服务定位器(Resolve())。诀窍是让它尽可能远离。对于控制台应用程序,此引导发生在Main()中方法。在那里做,并尽量减少其他地方的Resolve调用,你会很棒。对于大多数依赖项,使用构造函数注入(inject)。

c# - 没有 IoC 或依赖注入(inject)的模拟

有没有一种方法可以在单元测试中使用mock或fakes而不必使用依赖注入(inject)或反转或控制?我发现此语法可与TypeMockIsolator(http://learn.typemock.com/)一起使用。虽然它是一个商业产品,所以我希望其他框架(例如RhinoMocks)会在某个阶段引入这样的语法。///CanmockobjectsWITHOUTDEPENDENCYINJECTION.varhand=Isolate.Fake.Instance();varmouth=Isolate.Fake.Instance();Isolate.Swap.NextInstance().Wit

c# - IOC : Wiring up dependencies on event handlers

我正在构建一个WinForms应用程序,其UI仅包含NotifyIcon及其动态填充的ContextMenuStrip。有一个MainForm将应用程序保存在一起,但它永远不可见。我开始尽可能可靠地构建它(使用Autofac处理对象图)并且对我的成功非常满意,即使与O部分也相处得很好。通过我目前正在实现的扩展,我似乎发现了我的设计中的一个缺陷,需要稍微改造一下;我想知道我需要走的路,但对于如何准确定义依赖关系有点不清楚。如上所述,菜单在启动应用程序后部分动态填充。为此,我定义了一个IToolStripPopulator接口(interface):publicinterfaceITool

c# - 使用带有 Caliburn micro Message.Attach 的附加事件

我正在尝试使用Caliburn微消息来触发我创建的附加事件:publicstaticclassDataChanging{publicdelegatevoidDataChangingEventHandler(objectsender,DataChangingEventArgse);publicstaticreadonlyRoutedEventChangingEvent=EventManager.RegisterRoutedEvent("Changing",RoutingStrategy.Bubble,typeof(DataChangingEventHandler),typeof(Data

C#工厂模式和IoC的区别

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:DependencyInjectionvsFactoryPattern有人能解释一下(用简单的例子)工厂模式和控制反转模式之间的区别吗?最好使用.NET2.0

c# - Workflow Foundation 4 中的依赖注入(inject)/IoC

是否可以在您的工作流事件中使用DI?如果是,怎么做?例如,如果您有这样的事件publicsealedclassMyActivity:CodeActivity{publicMyClassDependency{get;set;}protectedoverridevoidExecute(CodeActivityContextcontext){Dependency.DoSomething();}}如何设置依赖?(我正在使用Spring.Net) 最佳答案 工作流不使用IOC容器。它使用ServiceLocator模式,您可以在其中将依赖项作

c# - 谁能详细地向我解释如何使用 IOC 容器?

我通过参数和构造函数广泛使用依赖注入(inject)。我在这个程度上理解了这个原则,并对此感到满意。在我的大型项目中,我最终注入(inject)了太多依赖项(任何达到两位数的东西都感觉很大-我喜欢术语“通心粉代码”)。因此,我一直在考虑IOC容器。我已经阅读了一些关于它们的文章,到目前为止我还没有看到好处。我可以看到它如何帮助发送相关对象组或一遍又一遍地获取相同的类型。我不确定他们将如何在我的项目中帮助我,我可能有一百多个类实现相同的接口(interface),并且我以不同的顺序使用所有这些类。那么,谁能给我指点一些好的文章,这些文章不仅描述了IOC容器的概念(最好不要特别炒作),而且

SPI协议的verilog实现(spi master slave联合实现)

SPI协议介绍spi是serialperipheralinterface的缩写,即串行扩展总线。SPI是单主设备通信,总线中只有一个主设备发起通信,能发起通信的设备称为主设备。当SPI主设备想读写从设备时,首先拉低对应从设备的ss线(低电平有效)。然后发送工作麦种到时钟线上,在相应的脉冲时间上,主设备把信号发送到MOSI实现读写,同时又可以对MISO采样实现读。一般SPI通信涉及到一下术语:SCLKserialclock(来自主设备)MOSIMasterOutputSlaveInput(来自主设备)MISOMasterInputSlaveOutput(来自从设备)SSSlaveSelect(低

c# - ValidationMessageFor 与 AddModelError(key, message) 一起。关键是什么?

我正在为某个viewModel属性开发客户端和服务器端验证。在.cshtml文件中我放了这个:@Html.DropDownListFor(model=>model.EntityType.ParentId,Model.ParentTypeList,"")@Html.ValidationMessageFor(model=>model.EntityType.ParentId)在Controller中进行业务验证catch(BusinessExceptione){ModelState.AddModelError("EntityType.ParentId",Messages.CircularRe