问题列表 - 第16626页

HTTPModule BeginRequest应该是Response.Redirect或Server.Transfer

我们有一个URLRewriting模块,它使用BeginRequest事件方法中的Response.Redirect来更改目标页面.

  • 使用Server.Transfer或Server.TransferRequest而不是Response.Redirect会更好吗?
  • 解决方案中还有其他HTTP模块,我是否会通过使用Server.Transfer绕过任何其他模块,或者服务器是否会像新请求一样开始,只是保存到浏览器的往返?
  • 客户是否会注意到任何差异,服务器是否会以不同方式处理请求?

以下问题涵盖重定向和传输之间的差异,但不包括HTTP模块中的差异;

编辑: HttpContext.RewritePath也在模块中使用,所以我们似乎有三种技术可以从原始路径移动初始请求; 分别是Redirect,Transfer,RewritePath; 返回浏览器,返回HTTP管道的开始并继续处理新路径.

asp.net url-rewriting httpmodule

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

编写需要嵌入加密数据库的C#桌面应用程序.我应该使用什么类型的数据库?

嘿SO'ers,我正在制作一个C#/ WPF应用程序,需要访问许多表来生成我将在应用程序中使用的一些xaml代码.表格还将包含一些浮点数值数据.

该程序是单用户的,因此rdbms不一定非常花哨,但是文件确实需要加密,因为它将被"收缩包装"并发送.我也无法强迫用户为此安装单独的程序.

到目前为止,我一直倾向于使用加密的.accdb数据库,但我愿意接受更好的选择.使用accdb是否要求用户安装访问权限?

(注意:我也一直在使用C#中的桌面应用程序查看数据库引擎)

c# encryption wpf ms-access rdbms

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

Java HashMap性能优化/替代方案

我想创建一个大的HashMap,但put()性能不够好.有任何想法吗?

其他数据结构建议是受欢迎的,但我需要Java Map的查找功能:

map.get(key)

在我的情况下,我想创建一个包含2600万条目的地图.使用标准Java HashMap,在2-3百万次插入后,放置速率变得无法忍受.

此外,是否有人知道为密钥使用不同的哈希代码分发是否有帮助?

我的哈希码方法:

byte[] a = new byte[2];
byte[] b = new byte[3];
...

public int hashCode() {
    int hash = 503;
    hash = hash * 5381 + (a[0] + a[1]);
    hash = hash * 5381 + (b[0] + b[1] + b[2]);
    return hash;
}
Run Code Online (Sandbox Code Playgroud)

我使用add的associative属性来确保相等的对象具有相同的哈希码.数组是字节,其值在0到51之间.值只在一个数组中使用一次.如果a数组包含相同的值(按任意顺序),则对象相等,而b数组则相同.所以a = {0,1} b = {45,12,33}和a = {1,0} b = {33,45,12}是相等的.

编辑,一些说明:

  • 一些人批评使用哈希映射或其他数据结构来存储2600万个条目.我不明白为什么这看起来很奇怪.它看起来像是一个经典的数据结构和算法问题.我有2600万个项目,我希望能够快速将它们插入并从数据结构中查找它们:给我数据结构和算法.

  • 将默认Java HashMap的初始容量设置为2600万会降低性能.

  • 有些人建议使用数据库,在某些其他情况下这绝对是明智的选择.但我真的在问一个数据结构和算法的问题,一个完整的数据库会比一个好的数据结构解决方案过度而且速度慢得多(毕竟数据库只是软件,但会有通信和可能的磁盘开销).

java optimization performance hashmap map

98
推荐指数
7
解决办法
11万
查看次数

Selenium Grid使用C#/ NUnit进行并行测试

我用NUnit编写了几个调用selenium命令的单元测试.我有2个win2k3服务器盒设置,一个运行selenium网格集线器和2个selenium rc.另一个盒子正在运行5个selenium rc.所有这些都在集线器中注册为在Windows上运行Firefox(为了保持简单).在我的单元测试设置方法中,我已经将它连接到端口4444处的集线器主机名.

运行测试时,它们只按顺序运行(如预期的那样).我已经完成了很多关于NUnit路线图的阅读以及他们如何为并行测试能力拍摄.我已经看到很多指针在此期间使用PNUnit.然而,这似乎完全打败了Selenium Grid的目的.

有没有人使用连接到Selenium Grid设置的C#/ NUnit成功实现了并行测试?如果是这样,请详细说明.

我现在完全不知道如何使用NUnit,因为它现在存在(我使用的是版本2.9.3)

c# nunit selenium-grid pnunit

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

SQL Server 2008中的递归同表查询

我在SQL Server 2008数据库中有以下表:

Id  Name       ParentFolder
--  ----       ------------
1   Europe     NULL
2   Asia       NULL
3   Germany    1
4   UK         1
5   China      2
6   India      2
7   Scotland   4
Run Code Online (Sandbox Code Playgroud)

ParentFolder是同一个表中的FK到Id.我想创建一个结果如下的视图:

Id  Name       FullName
--  ----       --------
1   Europe     Europe
2   Asia       Asia
3   Germany    Europe/Germany
4   UK         Europe/UK
5   China      Asia/China
6   India      Asia/India
7   Scotland   Europe/UK/Scotland
Run Code Online (Sandbox Code Playgroud)

如您所见,我需要通过递归使用ParentFolder关系构建FullName值,直到找到NULL为止.

编辑.表中的每一行"知道"其他行是否为其父级,但不知道其在层次结构中的绝对位置.出于这个原因,每个行在层次结构树中存储其绝对位置的沿袭系统是不合适的.

我知道SQL Server 2008的hierarchyid功能,但据我所知,它只适用于固定数量的递归级别.然而,在我的情况下,你永远不会知道你会找到多少级别,并且它们可能会在行之间发生变化.

我也在这里发现了类似的问题.但是,我认为没有人问过为表格中的每一行构建"路径".对不起,如果我错过了.

非常感谢.

recursion sql-server-2008

14
推荐指数
1
解决办法
3万
查看次数

哪个单元测试框架用于Windows上的C开发?

在Windows XP上,使用TDM的GCC/MinGW32进行基本开发,即使用gdb的gcc 4.4.x. 哪个单元测试框架用于测试驱动开发?

显然Check的单元测试还没有在Windows上运行.

在这些问题的单元测试框架对于C单元测试C代码类似,但没有具体关于在Windows上使用GCC 4.4.x到.

c windows tdd unit-testing tdm-mingw

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

如何在Objective C中编辑可变属性?

我试图从属性编辑一个可变数组,似乎无法直接使其工作.考虑以下似乎有用的代码,但似乎也非常低效; 我必须复制整个属性数组才能在一个对象中进行更改.为什么我可以更改整个"carNames"数组,但不能对其中一个对象进行更改?

感谢您提供的任何光线......

// CarTableViewController.h


// ...


@interface CarTableViewController : UITableViewController {
    NSMutableArray *carNames;
}

@property (nonatomic, retain) NSMutableArray *carNames;

-(IBAction)addCarButton:(id)sender;
// ...
// --------------------------------------

// -------CarTableViewController.m-------

// ...
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{

    if (editingStyle == UITableViewCellEditingStyleDelete) {

        // Could I somehow run the removeOjectAtIndex: 
        // directly on the carNames Property?  - this code works...

        NSMutableArray *mutablecarNames = [carNames mutableCopy];
        [mutablecarNames removeObjectAtIndex:indexPath.row];
        carNames = [mutablecarNames copy];
        [mutablecarNames release];

            // This code doesn't work... Why?
            // [carNames removeObjectAtIndex:indexPath.row]; …
Run Code Online (Sandbox Code Playgroud)

properties objective-c uitableview nsmutablearray

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

在Ruby中的类定义中设置类/实例变量的惯用方法是什么?

例如,在Python中,我可以创建一个这样的类:

class foo(object):
    bar = 'x'
    def __init__(self, some_value):
        self.some_attr = some_value
Run Code Online (Sandbox Code Playgroud)

...其中bar是类属性,some_attr是实例属性.在Ruby中做这样的事情的惯用方法是什么?

ruby idioms

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

分离使用python多处理模块启动的子进程

我想在python中使用mutliprocessing模块创建一个进程,但确保它在创建子进程的进程退出后继续运行.

我可以使用子进程模块和Popen获得所需的功能,但我想将我的代码作为函数运行,而不是作为脚本运行.我想这样做的原因是简化创建pyro(python远程对象)对象.我想在使用多处理的单独进程中启动pyro对象请求处理程序,但后来我希望主进程在支持pyro对象的进程继续运行时退出.

python subprocess detach multiprocessing pyro

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

Oracle:聚合方法在分组结果中连接未分组的列

我有一个查询与几个聚合函数,然后几个分组列.我想从组中取出一个分组列,并对它具有的所有VARCHAR值执行某种聚合"连接".(理想情况下,在一个新的运输分离列表中).

这是我的查询,我注意到我想要这样做:

SELECT rownum, F.*
FROM (SELECT 
  c.logical_type "MerchantType",
  c.merchant_id "MerchantID",
  c.m_name "MerchantName",
  m.m_name "TransferredBy", /* <----- Make this aggregate */
  SUM(DECODE(b.ba_price,null,0,DECODE(b.BILL_SRVC_ID,'CREDITCHANGE',0,b.ba_price))) "TotalValue", 
  sum(DECODE(b.ba_price,null,0,DECODE(b.BILL_SRVC_ID,'CREDITCHANGE',b.ba_price,0))) "LimitChange", 
  SUM(DECODE(b.ba_status,'bdone',1,0)) "TxnCount",
  sum(to_number(decode(substr(b.ba_merchant_freetext,1,10),'Commission',substr(b.ba_merchant_freetext, 12,(instr(b.ba_merchant_freetext,';',1,1)-12))))) "Commission"
FROM bill_auth0 b,
  merchant0 m,
  merchant0 c
WHERE 
  b.srvc_prod_id = 'TRANSFER'
    AND b.ba_channel = 'WPSS'
    AND b.ba_status     IN ('bdone')
    AND b.merchant_id    = m.merchant_id
    AND b.customer_id    = c.merchant_id
    AND b.ba_timestamp BETWEEN to_date( '11/01/2009', 'MM/DD/YYYY' ) 
        AND to_date( '11/17/2009', 'MM/DD/YYYY' )+1
GROUP BY 
  c.logical_type,
  c.merchant_id,
  c.m_name,
  m.m_name /* <-- Remove from Grouped …
Run Code Online (Sandbox Code Playgroud)

oracle aggregate concatenation

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