小编qkp*_*qkp的帖子

Google地图可以保存可拖动的路线

您可以在我的网络应用程序中创建标记,并使用带有这些标记的Google方向创建路线.但我希望用户能够改变路线,并且我已经在google maps api v3中找到了可拖动的路线.有没有办法在数据库中保存更改的方向,以便您可以使用该信息再次创建确切的路线?

javascript api google-maps

7
推荐指数
2
解决办法
9783
查看次数

如何在ASP.NET MVC中避免使用CastleWindsor的服务定位器/实现服务定位器

我正在使用CastleWindsor作为我的依赖注入框架,当你在Controller中时它们都运行良好,因为我们可以使用controllerfactory构造函数注入.

但是有一些特定的情况,依赖注入(构造函数注入)将不起作用.例如:我希望能够在我的视图中的一些实用程序类或扩展方法(例如HtmlHelper)中使用IOC来解析依赖关系.我知道有些人不同意这一点,而是保持观点愚蠢,但让我们继续讨论.

所以这基本上让我有一个选项,那就是使用...服务定位器.所以我知道服务定位器被大多数人认为是反模式,我明白为什么..但是如果不能使用依赖注入,如何解决与IOC的依赖关系?对于我所知道的一切,使用IOC的服务定位器比没有任何东西更好.我想避免服务定位器模式,但我似乎不明白在某些特定情况下如何避免它.

接下来的问题是..所以即使你喜欢/不喜欢服务定位器.哪个是使用CastleWindsor实现此功能的最佳选择?

所以我猜选项是:

  1. 将容器公开为全局对象(或通过包装容器的其他全局对象),您可以从代码中的任何位置检索该容器.然后,您可以在容器上调用resolve和release方法.我不喜欢的一点是,我们必须明确地为瞬态生活方式对象调用release.如果没有经验的开发人员不这样做,你最终会发生内存泄漏.

  2. 我还发现:https://www.nuget.org/packages/CommonServiceLocator.WindsorAdapter,它有很多下载..(与选项1相同,但更通用,包装容器,以便您可以轻松交换DI框架)我查看了代码,发现适配器只有解析对象的方法.所以我有点想知道为什么没有发布方法..这是否意味着这个包有瞬态生活方式对象的内存泄漏问题?

希望有人能就这些问题给我一些建议!

asp.net-mvc dependency-injection castle-windsor castle service-locator

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