问题标签 [turbine]

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.

0 投票
1 回答
80 浏览

unit-testing - 如何防止 Turbine 写入我的控制台?

这就是问题所在。我正在尝试针对它编写一些单元测试并希望禁用它的日志记录,以便我可以更轻松地找到我的测试输出。我试着用记录器(log4j)关闭我能想到的所有东西,它一直在写我的控制台。

0 投票
4 回答
928 浏览

c# - 带有 Db4objects.Db4o.Linq.dll 的涡轮机给出无法加载一种或多种请求的类型异常

在我的 asp.net-mvc 应用程序中,我正在尝试设置 Turbine。
初始化代码如下:

然后我有一组与以下类似的注册商:

如果我尝试运行,在 SetLocatorProvider 之后,但在输入任何注册方法之前,我会收到以下错误:

“/”应用程序中的服务器错误。

无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Reflection.ReflectionTypeLoadException:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。

源错误:在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

更新
将问题库缩小到 Db4objects.Db4o.Linq.dll 一旦我将这个库作为引用(甚至不是“使用”,只是添加到引用中)在我的 mvc web 应用程序中引用的一个库中,我得到上面提到的YSOD。所有其他 Db4o 库都可以正常工作。

METTRE À JOUR
尝试将 UnityServiceLocator 与 WindsosServiceLocator 和 NinjectServiceLocator 交换。完全相同的结果,因此问题很可能不是源自任何一个库。

OPPDATERING
要重新创建错误页面,只需执行以下步骤:

  • 创建新的 Mvc 应用程序(不管 wat 版本)
  • 更改 gloabal.asax.cs 代码以使用 MvcTurbine 并添加所需的 MvcTurbine 库
    您会发现一切仍然按预期工作
  • 添加 Db4objects.Db4o.dll
    仍然一切正常
  • 添加 Db4objects.Db4o.linq.dll
    YSOD

关于在哪里以及如何调试它的任何想法?

0 投票
4 回答
727 浏览

asp.net-mvc - 考虑到以下要求,我想推出自己的身份验证/授权系统是错误的吗?

在我的宠物项目中,我希望有一个具有以下要求的用户系统:

  • 它需要使用Db4o作为持久性模型
  • 我想使用 DI(通过Turbine)将所需的依赖项传递给我的用户模型
  • 它需要很容易插入到 asp.net-mvc
  • 它需要在没有太多麻烦的情况下进行测试
  • 它需要像 SO 一样支持匿名用户
  • 我希望将身份验证和授权分开(第一个可以没有第二个)
  • 它需要安全

我知道我在这里将一些技术放在功能之前,但由于它是一个宠物项目,我想学习一些新东西,我认为将它们作为要求包括在内是合理的。

在自己动手的过程中,我意识到我可能患有一些NIH综合症。
因为我真的不喜欢asp.net 中现有的用户框架有多么不必要的复杂,实际上它实际上只是关于安全性的所有更复杂的东西现在让我有些怀疑。继续滚动我自己的行为是否可以辩护?如果不是,您将如何使用现有的基于 IPrinciple 的框架来满足上述所有要求?

0 投票
2 回答
3202 浏览

asp.net-mvc - 参数化控制器构造函数永远不会被击中

通过我的宠物项目,我正在尝试学习使用 Turbine 作为 DI 容器。

我正在将 unity 注册为 locatorprovider,如下所示:

我的用户存储库有一个无参数的构造函数,我正在注册它:

然后我有我的 HomeController 应该接受 IUserRepository

如果我省略无参数 ctor(如上面的代码片段),我会得到这个(完整的这里):

所以我的 HomeController 有义务有一个 parless ctor。似乎不是 Unity 控制器工厂在实例化,而是默认控制器工厂。

更新
我的 MVCApplication 正在继承 TurbineApplication 并且由于 RouteRegistration 被拾取得很好,我认为问题出在其他地方。

更新
正如 Thomas Eyde 所建议的,我想覆盖该TurbineApplication.AutoComponent方法,但检查对象浏览器,我看不到任何对该方法的引用。此外,当我查看 NerdDinner 示例时,它似乎也没有覆盖此方法。在检查了有关它的在线文档后,我没有得到任何更明智的信息,并且按照有关手动注册的文档的链接为我提供了一个占位符页面。谁能告诉我我做错了什么?

我错过了什么吗?

0 投票
2 回答
466 浏览

c# - 为什么我的 http 响应正文突然包含一堆乱码?

我正在尝试重构现有的 asp.net-mvc Web 应用程序并引入 mvc-turbine。
该应用程序按原样工作,但我想让它更具可插拔性和可维护性,以便将来的维护更容易。

我想我会尽量减少重构步骤,所以我引用了 MvcTurbine、MvcTurbine.Unity 和 MvcTurbine.Web。
然后我让 global.asax.cs 中的 MvcApplication 看起来像这样:

我意识到调用 Application_Start 不是应该的,但这将使第一步的更改尽可能小。
当我现在运行时,我看到控制器中的代码被命中并正确运行。然后我的观点正在呈现。我可以遍历每一行,那里也没有问题。然后结果会显示在浏览器中:乱码。
������í½ I%&/mÊ{JõJ×àt¡$Ø@ìÁÍæìiG#)«*ÊeVe]f@Ìí¼÷Þ{ï½÷Þ
等等,一整页。

如果没有 Turbine,我没有遇到这个问题,也没有在之前的测试中遇到任何问题,我会从一开始就引入 Turbine。
关于如何开始调试的任何想法?

0 投票
1 回答
120 浏览

c# - 无法解析 serviceType [控制器名称]

当尝试重构现有的 asp.net-mvc 应用程序以使用 Turbine 作为 IoC 时,我得到以下结果:

我的 SearchController 的(唯一)ctor 看起来像这样

我的注册看起来像这样

更新

我找到了(有点傻)

本来应该

不知道第一个语法应该做什么。

0 投票
1 回答
282 浏览

c# - mvc涡轮机的生命周期管理?

如何在 mvc 涡轮机中管理我的服务的生命周期(使用 Unity)?

我有一个 ISearchService 实现 LuceneSearchService,它采用 IConfigurationService 和 ILoggerService。

目前我的搜索服务注册如下所示:

我想继续负责在 Turbine 中创建实例,但我希望它是一个单例。

或者换句话说,我如何定义生命周期?

0 投票
2 回答
453 浏览

c# - 注入属性?

我的 asp.net-mvc 项目有一个 [Logger] 属性。此 LoggerAttribute 在其构造函数中采用 ILoggerService。

对于常规对象(例如我的控制器),它可以工作,但属性似乎没有得到解决。

如何让 Turbine 注入 ILoggerService?

0 投票
2 回答
125 浏览

c# - InjectableFilterAttribute 永远不会命中过滤器

在我的基本控制器上,我放置了该Logger属性。这个 LoggerAttribute 看起来像这样:

此 loggerattribute 上的 ctor 被命中,但 FilterType getter 没有。

过滤器本身的相关部分如下所示:

过滤器的 ctor 也永远不会被击中。

对于我的服务的接线和 servicelocator 的实例化检查这里
ILoggerService 的注册可以在这里找到

我错过了什么?

0 投票
3 回答
15096 浏览

c# - 在启用优化或没有调试信息的情况下构建

我目前正在尝试找出为什么我的InjectableAttributes 从未到达过滤器部分
因此,我直接在源项目中链接,这样我就可以轻松地放置断点等。
但是,当我构建时,我收到以下消息:

我检查了项目的属性。它的配置设置为“活动(调试)”,并且“优化代码”复选框未选中。

更新
如果我没有偶然包含文件而不是项目,我再次检查,但引用似乎正确。
只是为了确保我还删除了所有现有的垃圾箱,以便所有库都肯定在某个地方重建,但无济于事。

更新
在高级构建窗口中,调试输出设置为完整,所有选项都与正在构建调试信息的项目相同。
配置管理器显示该项目正在构建,并且具有与所有其他选项完全相同的设置。

更新
在 Debug->Windows-Modules 窗口中,涡轮库的符号状态是PDB file does not match image我删除了整个系统上所有相应的 pdb 文件,以确保重新生成它,但无济于事。
为了确保我还在整个系统上搜索了 dll 并删除了它们。没有什么。

什么可以阻止 VS 创建调试信息?