我希望能够基于查询参数和数据库中的数据的组合,从一个控制器动作有条件地发送到另一个控制器动作.
我现在拥有的是:
class OldController < ApplicationController
def old_controller_action
if should_use_new_controller
new_params = params.dup
new_params[:controller] = "new_controller_action"
redirect_to new_params
return
end
# rest of old and busted
end
end
class NewController < ApplicationController
def new_controller_action
# new hotness
end
end
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但它会发出HTTP重定向,这很慢.我希望能够做同样的事情,但在同一个HTTP请求中.
有干净的方法吗?
编辑:赏金将转到可以向我展示干净方式的人,使控制器及其操作相对不受影响(除了重定向代码本身).
AJAX选项卡非常有效.这一部分非常简单.但是,获取AJAX UI对话框模式窗口以触发链接是不成功的.
任何帮助都将不胜感激.
虽然这个问题与StructureMap有关,但我的一般问题是:
在代码中使用IoC容器连接组件时(而不是通过xml进行配置),您通常需要对所有程序集进行显式项目/构建引用吗?
为什么单独的组件?因为:
"与其具体实现相关的独立程序集中的抽象类是实现这种分离的好方法." - 框架设计指南第91页
例:
假设我有PersonBase.dll和Bob.dll
Bob继承自抽象类PersonBase.它们都在Person命名空间中.但在不同的集会中.
我正在为PersonBase编程,而不是Bob.
回到我的主要代码中,我需要一个人.StructureMap可以扫描装配体.好的,我会问一下StructureMap!
现在,在我的主要代码中,我当然只是指PersonBase,而不是Bob.其实,我不希望我的代码知道任何关于鲍勃.没有项目参考,没有nuthin.这就是重点.
所以我想说:
//Reference: PersonBase.dll (only)
using Person;
...
//this is as much as we'll ever be specific about Bob:
Scan( x=> { x.Assembly("Bob.dll"); }
//Ok, I should now have something that's a PersonBase (Bob). But no ?
ObjectFactory.GetAllInstances<PersonBase>().Count == 0
Run Code Online (Sandbox Code Playgroud)
没运气.我希望鲍勃做的工作是明确的:
//Reference: …Run Code Online (Sandbox Code Playgroud) 鉴于这两个问题:
Select t1.id, t2.companyName
from table1 t1
INNER JOIN table2 t2 on t2.id = t1.fkId
WHERE t2.aField <> 'C'
Run Code Online (Sandbox Code Playgroud)
要么:
Select t1.id, t2.companyName
from table1 t1
INNER JOIN table2 t2 on t2.id = t1.fkId and t2.aField <> 'C'
Run Code Online (Sandbox Code Playgroud)
这两者之间有明显的区别吗?在我看来,条款"t2.aField <>'C'"将在t2中符合连接条件的每一行上运行,无论如何.我不对吗?
更新:我在SQL Server中执行了"包含实际执行计划".这两个查询完全相同.
我记得Shadowrun让我对黑客感到兴奋的日子.CodeWar和LightBot都很有趣(虽然CoreWar有点过时了).还有哪些其他游戏涉及有趣和具有挑战性的编码,可以用来让人兴奋编码或弯曲他们的印章甚至学习基础知识?
在IE中,我可以从JavaScript调用element.click() - 如何在Firefox中完成相同的任务?理想情况下,我希望有一些JavaScript可以跨浏览器同样运行,但如果有必要,我将为此提供不同的每浏览器JavaScript.
我们正在使用企业库4.1异常处理应用程序块的ExceptionShielding功能以及与我们的WCF服务的自定义RoleProvider.
当RoleProvider确定用户不在角色中并从IsInRole方法返回false时,发生以下异常:
System.ServiceModel.Security.MessageSecurityException, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
No signature message parts were specified for messages with the '{XXX}' action.
然后WCF中止RequestContext服务操作,客户端超时.
我试图在此链接中提到的解决方案没有成功:
http://www.codeplex.com/entlib/Thread/View.aspx?ThreadId=25236
我们还System.Exception从EHAB政策中删除了异常类型,实际上EHAB对此策略没有任何作用,这没有任何效果.
防止此异常的唯一方法是ExceptionShielding在服务实现上注释掉该属性.
对此问题的任何修复都将非常感激.
在C#中设置可以从命令行运行并生成一些输出(或写入文件)的实用程序应用程序的最佳方法是什么,但这可以作为Windows服务运行,以便在后台执行其工作(例如监视目录,或其他).
我想编写一次代码并能够从PowerShell或其他一些CLI以交互方式调用它,但同时也找到了一种方法来安装与Windows服务相同的EXE文件并使其无人值守.
我可以这样做吗?如果是这样的话:我怎么能这样做?
我有一个.NET 2.0应用程序在XP和Vista上运行得很好,但在Windows 7 RC(x64)上崩溃时出现以下错误:
例外信息
异常类型:System.OutOfMemoryException消息:内存不足.数据:System.Collections.ListDictionaryInternal TargetSite:空隙.ctor(System.Drawing.Image对象,System.Drawing.Drawing2D.WrapMode)HELPLINK:NULL来源:System.Drawing中
StackTrace信息
在System.Drawing.TextureBrush..ctor(图像图像,WrapMode wrapMode)在System.Windows.Forms.ControlPaint.DrawBackgroundImage(图形克,图片和backgroundImage,颜色背景色,ImageLayout backgroundImageLayout,矩形范围,矩形clipRect,点scrollOffset,从右至左从右至左)在System.Windows.Forms.Control.PaintBackground(PaintEventArgs的E,矩形矩形,颜色背景色,点scrollOffset)在System.Windows.Forms.Control.PaintBackground(PaintEventArgs的E,矩形的矩形)在System.Windows.Forms.Control的. OnPaintBackground(PaintEventArgs的pevent)在System.Windows.Forms.ScrollableControl.OnPaintBackground(PaintEventArgs的e)上System.Windows.Forms.Control.PaintWithErrorHandling(PaintEventArgs的E,Int16的层,布尔disposeEventArgs)在System.Windows.Forms.Control.WmPaint( Message&m)在System.Windows.Forms.ScrollableControl.WndProc(Message&m)的System.Windows.Forms.Control.WndProc(Message&m)处
关于为什么会发生这种情况的任何想法,或者我如何围绕它进行编程?它只是绘制一个没有特殊背景的标准winform.
更新:我发现这只是BackgroundImageLayout = ImageLayout.Tile时的一个问题,它也是默认值.将其设置为缩放或中心,问题消失.但这非常不令人满意,因为我需要它来平铺.
c# ×2
jquery ×2
.net ×1
.net-2.0 ×1
command-line ×1
crash ×1
dhtml ×1
dom ×1
firefox ×1
javascript ×1
jquery-ui ×1
modal-dialog ×1
sql ×1
sql-server ×1
structuremap ×1
survey ×1
wcf ×1
windows-7 ×1