问题列表 - 第43572页

一种在ASP.NET MVC中排除动作过滤器的方法?

我在ASP.NET MVC中遇到过几个案例,我想在除一两个动作之外的每个动作上应用动作过滤器.例如,假设您有一个AccountController.其中的每个操作都需要用户登录,因此您在控制器级别添加[授权].但是说你想在AccountController中包含登录页面.问题是,发送到登录页面的用户未经授权,因此这将导致无限循环.

明显的修复(除了将Login操作移动到另一个控制器之外)是将[Authorize]从控制器移动到除Login之外的所有操作方法.嗯这不好玩,特别是当你有很多方法或忘记将[授权]添加到新方法时.

Rails通过排除过滤器的功能简化了这一过程.ASP.NET MVC不会让你.所以我决定让它成为可能,它比我想象的要容易.

    /// <summary>
/// This will disable any filters of the given type from being applied.  This is useful when, say, all but on action need the Authorize filter.
/// </summary>
[AttributeUsage(AttributeTargets.Method|AttributeTargets.Class, AllowMultiple=true)]
public class ExcludeFilterAttribute : ActionFilterAttribute
{

    public ExcludeFilterAttribute(Type toExclude)
    {
        FilterToExclude = toExclude;
    }

    /// <summary>
    /// The type of filter that will be ignored.
    /// </summary>
    public Type FilterToExclude
    {
        get;
        private set;
    }
}

/// <summary>
/// A subclass of ControllerActionInvoker …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc action-filter

26
推荐指数
1
解决办法
2万
查看次数

单元测试实用方法

如果我有一个如下所示的实用方法,我该如何进行单元测试呢?好像我想确定输出是否正确我似乎必须将代码构建到测试方法中?我可以看到是否存在条件逻辑,例如输入字符串是否为空返回null,但测试正确的输出似乎很棘手.

public static string EncodeTo64(string input)
{
    byte[] b = System.Text.ASCIIEncoding.ASCII.GetBytes(input);
    string returnValue = System.Convert.ToBase64String(b);
    return returnValue;
}
Run Code Online (Sandbox Code Playgroud)

c# unit-testing

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

如何存储数百个用户每秒可以访问的PHP变量?

目前,我有一个人们可以在某个团队的曲棍球比赛中打开的网站.当曲棍球队得分时,指定人员点击安全位置的按钮.这将使用当前时间戳更新MySQL数据库中的单个条目.

在网站的前端,有一个异步调用,每隔15秒运行一次PHP脚本,以查询数据库中的时间戳.然后脚本将当前时间与拉出的时间戳进行比较,如果它在当前时间戳的15秒内,它会在网页上触发一个事件,包括播放一个空气喇叭的声音并播放团队目标歌曲的短片.

在球队的比赛中,我通常会获得大量的视力,但是很多人抱怨在触发声音的目标得分后(最多)15秒的延迟.我想找到一种方法来解决这个问题.

显然,我不认为对于页面上的每个用户(想想100+)每一秒都会查询数据库.我可能会杀了我的数据库.那么,还有另一种方法可以实现我的结果吗?是否可以将PHP变量放入服务器的内存中,每个会话都可以将其拉出而不会产生使用数据库或文件系统读取的负面后果?

编辑:我的主机没有memcached供我使用,我无法安装它.这令人失望,因为这听起来像是最佳解决方案.有没有人有另一种想法,我可以查看不使用memcached

php memory variables

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

为什么Scala每个列表都提供多个参数列表和多个参数?

多个参数列表,例如def foo(a:Int)(b:Int) = {}每个列表的多个参数,例如def foo(a:Int, b:Int) = {},就我所知,在语义上是等效的,并且大多数函数语言只有一种方式来声明多个参数,例如F#.

我可以找到支持这两种函数定义样式的唯一原因是允许使用只有一个参数的参数列表进行类似语法的语言扩展.

def withBufferedWriter(file: File)(block: BufferedWriter => Unit)
Run Code Online (Sandbox Code Playgroud)

现在可以使用syntax-looking调用

withBufferedWriter(new File("myfile.txt")) { out =>
  out write "whatever"
  ...
}
Run Code Online (Sandbox Code Playgroud)

但是,如果没有多个参数列表,可能还有其他方法可以支持花括号的使用.

一个相关的问题:为什么在Scala中使用多个参数列表称为"currying"?Currying通常被定义为为了支持部分应用而使n-ary函数一元化的技术.但是,在Scala中,可以部分应用函数,而不会使函数的"curried"(多个参数列表,每个参数列表).

scala currying partial-application

78
推荐指数
5
解决办法
3万
查看次数

我可以在Entity Framework 4中使用SELECT等效项执行INSERT

我正在使用SQL Server将应用程序从SqlClient迁移到Entity Framework 4.我有一种情况,我必须从一个表复制几行到另一个表,所以我使用INSERT ... SELECT,如下所示:

INSERT INTO dbo.Table1 (Reg1, Reg2, Reg3, Reg4, Reg5, Reg6, Reg7, Reg8)
SELECT Reg1, Reg2, Reg3, Reg4, Reg5, @Reg6, GETDATE(), @Reg8
FROM dbo.Table2 
WHERE Reg1 = @Reg1
Run Code Online (Sandbox Code Playgroud)

我可以使用Entity Framework完成与此类似的远程操作,或者我是否必须从Table2获取所有行,并在Table1中逐行插入它们?我怎么能处理GETDATE()?
TKS

sql-server entity-framework entity-framework-4

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

以弧度计算一个点围绕另一个点的旋转

我一直试图解决这个问题一周,并得到一个解决方案.我所拥有的是2d空间中的2个点,我需要解决的是一个旋转的是另一个.幸运的是附图将有所帮助,我需要能够计算的是围绕a的b的旋转值.

替代文字

我发现很多东西指向找到点产品等但我仍然在寻找那个黄金解决方案:o(

谢谢!

c# xna game-engine xna-4.0

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

ASP.NET MVC显示成功消息

这是我从我的应用程序中删除记录的示例方法:

[Authorize(Roles = "news-admin")]
public ActionResult Delete(int id)
{
    var ArticleToDelete = (from a in _db.ArticleSet where a.storyId == id select a).FirstOrDefault();
    _db.DeleteObject(ArticleToDelete);
    _db.SaveChanges();

    return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是在索引视图上显示一条消息,上面写着:"Lorem ipsum文章已被删除"我该怎么做?谢谢

这是我当前的Index方法,以防万一:

    // INDEX
    [HandleError]
    public ActionResult Index(string query, int? page)
    {
        // build the query
        var ArticleQuery = from a in _db.ArticleSet select a;
        // check if their is a query
        if (!string.IsNullOrEmpty(query))
        {
            ArticleQuery = ArticleQuery.Where(a => a.headline.Contains(query));
            //msp 2011-01-13 You need to send the query string to the View …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc

11
推荐指数
1
解决办法
2万
查看次数

解决NSInteger < - > NSNumber问题

我写了一个大型社交网络iPhone应用程序,我遇到的最大问题之一是NSInteger(和所有其他NS非对象类型)不是一等公民.这个问题源于这样一个事实,显然,他们没有代表零值.

这会产生两个主要问题:

  1. 在从集合中存储/检索时,转换为NSNumber和从NSNumber转换的大量开销和不透明度.
  2. 不能代表零.通常,我希望能够表示"未设置"值.

解决此问题的一种方法是始终使用NSNumber,但这会让人非常困惑.在User模型对象中,我将有大约20个不同的NSNumber,并且没有简单的方法来判断每个是否是float,integer,bool等.

所以这是我对潜在解决方案和优点/缺点的看法.我并没有真正卖掉任何一个,所以我想我会要求反馈和/或解决这个问题.

  1. 继续使用NSInteger类型,并使用NSIntegerMax表示nil.
    PRO - 更少的内存开销
    PRO - 清除键入
    CON - NSIntegerMax并不是真的零.如果程序员不小心或不了解此约定,则无效值可能会泄漏到显示层.
    CON - 无法在没有转换的情况下将它们存储在集合中

  2. 使用NSNumber并使用匈牙利表示法指定类型(例如NSNumber fHeight,NSNumber iAge)
    PRO - 一等公民
    PRO - 无问题解决
    CON - 增加内存开销
    CON - 丢失编译器类型检查
    CON - 匈牙利表示法是有争议的

  3. 写我自己的一流的基本对象类型(认为Java http://developer.android.com/reference/java/lang/Integer.html)
    PRO -一等公民
    PRO -无问题解决了
    PRO -保持编译器的类型检查
    PRO - 对象比NSNumber简单.内部存储将特定于数据类型.
    CON - 增加内存开销
    CON - 牺牲了一些代码的可移植性和兼容性

寻找一个有利于这些技术之一的令人信服的论据,或者我没有想到你是否有一个.


UPDATE

我已经开始了,开始了一个开源项目(Apache 2.0),我将在其中提取一些内部类,因为我有时间.它目前包括一些更常见的本机数据类型(BOOL,CGFloat,NSInteger,NSUInteger)的对象包装器.我们选择这样做是因为它将这些数据类型升级为具有严格类型的一等公民.也许你不同意这种方法,但它对我们来说效果很好,所以如果你愿意,可以随意使用它.

我正在添加我们发现的其他类,包括磁盘支持的LRU缓存,"Pair"对象,低内存释放池等.

享受 github - Zoosk/ZSFoundation

iphone cocoa types objective-c

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

在phpDoc语法中定义名称空间

谁能告诉我在phpDoc语法中定义php命名空间的正确方法是什么?或者,@ package在phpDoc中是否已弃用,因为命名空间或多或少定义了一个包?

如果没有,是否有一种通用的方法来记录文档所在的命名空间?

php phpdoc

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

使用Ghostscript将PCL转换为PostScript

所以我想使用Ghostscript将以PCL格式创建的文件转换为PostScript.

这是我的问题的主旨.我只是试图在命令行上运行它,但在最后阶段它必须在lp命令上运行,如lp -d <gs

GPL Ghostscript 9.00(2010-09-14)我将在Solaris 10服务器上运行它,但我相信任何Unix系统都应该类似.

bash-3.00# /usr/local/bin/gs -sDEVICE=pswrite     -dLanguageLevel=1     -dNOPAUSE -dBATCH -dSAFER     -sOutputFile=output.ps cms-form.pcl
GPL Ghostscript  9.00 (2010-09-14)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Error: /undefined in &k2G-210z100u0l6d0e63fa0V
Operand stack:

Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1910   1   3   %oparray_pop   1909   1   3   %oparray_pop   1893   1   3   %oparray_pop   1787   1   3   %oparray_pop   --nostringval-- …
Run Code Online (Sandbox Code Playgroud)

printing solaris postscript solaris-10

6
推荐指数
1
解决办法
2万
查看次数