我在我的项目面临着一个奇怪的问题。我的行为越来越老PARAM值,而不是其在Request.Params的实际值。我创建了一个HomeController.Echo(字符串文本)的行动来说明它(见截图)。当我打电话,第一次像行动“首页/回音?文= AAA”一切工作正常。当我打电话跟不同的文本值(“首页/回声/文= BBB”)同样的动作第二次,我在行动“文本”参数重新使用旧的“AAA”的价值。奇怪思是Request.Params包含正确“BBB”的值。

我在想,如果有什么东西我可以打破自己,但想不出什么。我是从IoC容器服务控制器,I overrided ControllerActionInvoker.InvokeActionMethodWithFilters方法(从IoC的依赖注入过滤器),我处理HttpApplication.AuthenticateRequest。 Im'not使用参数的工作/在任何这些无论如何结合...

截图

有帮助吗?

解决方案

在问题是由可能是一些线程问题引起的 - 我忘了登记在我IoC容器与每个请求生命周期控制器(它们注册为单身)

其他提示

您是否通过应用程序调试,看看那里的价值是越来越切换出。在文本变量的简单表(无论你怎么称呼它的代码)应该产生其中变量得到改变。无代码运行通过,我不知道它正在发生。

我会说写一个测试,但仍有UI的干扰这里的可能性。如果你发现在代码中它是变化的,然后写一个测试,以确认该漏洞,并开始在它重击。

我建议你开始评论你推翻了,直到您解决问题的方法。在最坏的情况下,你将得到一个对ASP.NET MVC向导离开你的项目点,当你创造了它,并在那里参数绑定肯定工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top