小编Rob*_*ker的帖子

BNF语法测试用例生成

有没有人对使用BNF语法生成测试字符串的工具有任何经验,然后可以将其输入单元测试?

parsing unit-testing

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

使ASP.NET FormsAuthentication服务器端无效

我正在尝试使用FormsAuthentication(使用ASP.NET MVC2)并且它运行得相当好.

但是,我无法弄清楚如何处理的一个案例是验证服务器上的用户身份,以确保从服务器的角度来看它仍然有效.

例如.

  1. 用户登录...获取cookie /票证
  2. 带外用户在服务器端被删除
  3. 用户向服务器发出新请求.HttpContext.User.Identity.Name设置为已删除的用户.

我可以发现这很好,但处理它的正确方法是什么?呼吁FormsAuthentication.SignOutOnAuthorizationOnActionExecuting事件太晚影响当前请求.

或者,我希望能够在删除用户(或重新创建数据库)时调用FormsAuthentication.InvalidateUser(...),以使给定(或所有)用户的所有票证无效.但我找不到一个API来做到这一点.

asp.net forms-authentication

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

ASP.NET MVC RC为Url.Content返回错误的路径

更新 ASP.NET MVC的发布位中不存在此问题

我有一个ASP.NET MVC RC应用程序在http:// localhost:9002 /运行的调试器下运行正常 但是当我将它发布到http:// localhost/Zot /时,对Url.Content的调用返回的值不正确.

我有脚本标签

<script src="<%= Url.Content("~/Scripts/util.js") %>" ...
Run Code Online (Sandbox Code Playgroud)

在发布的网站中,这会产生:

<script src="Zot/Scripts/util.js" ...
Run Code Online (Sandbox Code Playgroud)

代替

<script src="/Zot/Scripts/util.js" ...
Run Code Online (Sandbox Code Playgroud)

要么

<script src="Scripts/util.js" ...
Run Code Online (Sandbox Code Playgroud)

我有样式表标签,如:

<link href="~/Content/Site.css" runat="server" ...
Run Code Online (Sandbox Code Playgroud)

这产生了正确的事情:

<link href="Content/Site.css" ...
Run Code Online (Sandbox Code Playgroud)

关于为什么Url.Content失败的任何建议.我显然不能runat="server"<script>标签上放一个.

asp.net asp.net-mvc

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

用于(存储器)地址列表的良好散列算法

我有一个表示堆栈帧的(64位)地址列表,我想将这些地址哈希到一个64位数字,以帮助识别以前见过的那些.最多有128个地址.

我当前的算法通过迭代列表来计算哈希值,将每个地址与哈希值进行对比,并将每个周期的哈希值旋转11位.

有更好的建议吗?

algorithm hash

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

在std :: for_each中调用std :: function

我本质上有以下代码:

typedef std::function<void ()> fnGlobalChangeEvent;
typedef std::vector<fnGlobalChangeEvent> GlobalTriggers;

inline void ExecuteGlobal(fnGlobalChangeEvent ev)
{
    ev();
}

GlobalTriggers triggers;
std::for_each(triggers.begin(), triggers.end(), std::bind(&ExecuteGlobal, _1));
Run Code Online (Sandbox Code Playgroud)

在这里使用ExecuteGlobal感觉完全是多余的,但我找不到正确的语法来退出调用.

std::for_each(triggers.begin(), triggers.end(), ExecuteGlobal(_1));
std::for_each(triggers.begin(), triggers.end(), std::bind(_1));
Run Code Online (Sandbox Code Playgroud)

两者都无法编译.

还有一个更复杂的案例:

typedef std::function<void (Zot&)> fnChangeEvent;
typedef std::vector<fnChangeEvent> Triggers;

inline void Execute(fnChangeEvent ev, Zot& zot)
{
    ev(zot);
}

Triggers triggers;
std::for_each(triggers.begin(), triggers.end(), std::bind(&Execute, _1, zot));
Run Code Online (Sandbox Code Playgroud)

在这些情况下,是否可以不使用辅助函数?

c++ std c++11

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

std :: function绑定到成员函数

以下代码无法在VS2012中编译

class Zot
{
public:
    int A() { return 123; }
};

int _tmain(int argc, _TCHAR* argv[])
{
    std::function<int (Zot*)> fn = &Zot::A;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,将分配更改为

    std::function<int (Zot*)> fn = std::bind(&Zot::A, std::placeholders::_1);
Run Code Online (Sandbox Code Playgroud)

有用吗

有很多在线示例显示原始语法.在C++ 11规范中有什么变化来禁止这种语法吗?

是否有有效的简短表格?

编辑:编译器错误(为可重复性稍加编辑)是:

1>vc\include\functional(515): error C2664: 'std::_Func_class<_Ret,_V0_t>::_Set' : cannot convert parameter 1 from '_Myimpl *' to 'std::_Func_base<_Rx,_V0_t> *'
1>          with
1>          [
1>              _Ret=int,
1>              _V0_t=Zot *
1>          ]
1>          and
1>          [
1>              _Rx=int,
1>              _V0_t=Zot *
1>          ]
1>          Types pointed to …
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++ c++11 visual-c++-2012

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

Mercurial贪污可以应对重命名的文件

我想用来hg graft将变更集从一个分支复制到另一个分支.

但是,在变量集中修改的文件已hg rename在源分支中重命名(使用) - 在我要移植的变更集之前.

当我尝试时,我得到:

scanning for duplicate grafts
grafting revision 3
  searching for copies back to rev 2
  unmatched files in local:
   f1.txt
resolving manifests
 overwrite: False, partial: False
 ancestor: c06936303423, local: cfeaa3003c57+, remote: e3f2a201d1e2
remote changed f1a.txt which local deleted
use (c)hanged version or leave (d)eleted? c
Run Code Online (Sandbox Code Playgroud)

(c)和(d)都不是正确的选择.

文件f1a.txt已从源分支中的f1.txt重命名.f1a.txt甚至从未存在于目标分支中.

这可能吗?

mercurial

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

将键发送到页面而没有输入元素

keypress运行事件侦听器的网页上,我希望能够测试发送击键.但该页面没有输入元素和调用

driver.FindElement(By.XPath("//body")).SendKeys("abc");
Run Code Online (Sandbox Code Playgroud)

引发关于需要元素可编辑以接受击键的错误(针对Chrome).

有没有办法生成击键,以便页面看到它们而不注入虚拟输入元素?

c# selenium webdriver selenium-webdriver

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

如何使用 - 在名称中指定属性

我在Web应用程序中使用ASP.NET MVC和JQueryMobile.我想生成一个链接:

<a href="/Whatever/Previous" data-role="button" data-icon="arrow-l">Previous</a>
Run Code Online (Sandbox Code Playgroud)

我有一个帮助扩展方法,让我做:

<%= Html.ActionLink<WhateverController>(c => c.Previous(), 
         "Previous", 
         new { data-role = "button", data-icon="arrow-l" } ) %>
Run Code Online (Sandbox Code Playgroud)

Ccept 中的属性名除外data-roledata-icon无效.使用@data-role也不起作用.

有什么语法可以解决这个问题吗?或者我仍然坚持创建一个更专业的帮助器,知道正确的属性名称.

c# asp.net-mvc jquery-mobile

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

$$在Javascript中意味着什么?

我正在看一些javascript代码,它有一个函数:

$$('.CssClass').each(function(x) { .... } )
Run Code Online (Sandbox Code Playgroud)

我得到的意图是使用一个CssClass类将匿名函数应用于每个元素,但我无法工作$$引用的...并且不能google for $$!

更新:感谢提示.javascript来自iPhone外观相似的库:jPint包含prototypejs库,并将$$定义为:

function $$() {
  return Selector.findChildElements(document, $A(arguments));
}
Run Code Online (Sandbox Code Playgroud)

javascript prototypejs

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

如何在成员函数上使用std :: for_each

我试图获得更多'功能'的STL编程风格,并有以下简化的案例

class Widget;

class Zot
{
public:
  std::vector<Widget> Widgets;

  void ProcessAWidget(int x, Widget w) { ... }

  void Process()
  {
      int ctx=123;

      std::for_each(Widgets.begin(), Widgets.end(), 
           std::bind(&Zot::ProcessAWidget, this, ctx, _1));
   }
};
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来编写for_each调用的最后一个参数?

特别是必须明确提到这种感觉"错误",并且放弃类限定符也会很好.

c++ stl

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

从Windows用户模式转储文件中标识主机

有没有一种简单的方法可以找到通过WinDbg生成用户模式转储文件的机器的主机名?

或至少任何一条识别信息,以尝试确认两个转储文件来自同一系统.

windows debugging crash-dumps

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