问题列表 - 第13061页

Rails中的会话管理(2.3)

显然,升级到Rails 2.3后,我的会话存储已停止工作.我以前有这个:

session:session_expires => 3.years.from_now

在我的application_controller.rb中,但现在每次关闭浏览器(chrome)时,会话都会到期.我从某处读到session_expires会改为expire_after,但是

session:expire_after => 3.years.from_now

没有做任何好的事情.

ruby-on-rails ruby-on-rails-2

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

C#数字基类

我想写一个可以接受任何数字的C#方法.就像是:

public static T Sum(T a, T b) where T : number {  // (not real code)
    return a + b;
}
Run Code Online (Sandbox Code Playgroud)

但我没有在C#中看到一个"数字"基类,就像我用过的大多数其他语言一样.数值类型是IComparable,IFormattable,IConvertible,IComparable和IEquatable,但似乎没有任何算术功能.它们都是结构,除了物体外没有明显的共同超类.(请原谅我,如果我搞砸了这里的意思,因为我不太熟悉C#结构,而且正是他们对类的所有方式都不太熟悉.)

我是否遗漏了某些内容,或者是否无法在C#中编写一个执行"a + b"的方法而不在"+"的上下文中明确指出a和b是什么?

c# polymorphism numbers

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

使用linq保存新记录或更新存在记录

这是我用linq保存记录的方式:(我的Q在下面)

    public void SaveEmployee(Employee employee)
    {

        using (BizNetDB db = new BizNetDB())
        {
            BizNet.SqlRep.Data.Employee oldEmployee = (from e in db.Employees
                                                       where e.EmployeeID == employee.EmployeeID
                                                   select e).SingleOrDefault();
            if (oldEmployee == null)
            {
                oldEmployee = new BizNet.SqlRep.Data.Employee();
                oldEmployee.BirthDate = employee.BirthDate;
                oldEmployee.WorkRole = employee.WorkRole;
                oldEmployee.CurrentFlag = employee.CurrentFlag;
                oldEmployee.HireDate = employee.HireDate;
                ...
                db.Employees.InsertOnSubmit(oldEmployee);
            }
            else
            {
                if (oldEmployee.BirthDate.Date != employee.BirthDate.Date)
                    oldEmployee.BirthDate = employee.BirthDate;
                if (oldEmployee.CurrentFlag != employee.CurrentFlag)
                    oldEmployee.CurrentFlag = employee.CurrentFlag;
                if (oldEmployee.HireDate.Date != employee.HireDate.Date)
                    oldEmployee.HireDate = employee.HireDate;
            }

            oldEmployee.ModifiedDate = DateTime.Now;
            db.SubmitChanges();
            employee.EmployeeID = …
Run Code Online (Sandbox Code Playgroud)

linq

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

NERD评论者:如何评论范围

我正在使用NERD评论者

假设我要评论从78到172的行.这就是我所做的.我计算差异.那是94.把我的光标放在78行然后我做:94,c空格

通过这种方式,我从第78行开始评论94行.

我不喜欢我需要做的计算.我希望通过类似的范围

78,172来评论第78行到第172行的代码.我错过了什么.

看看这个插件的受欢迎程度,似乎必须有更好的方式来评论和取消注释.

vim

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

Javascript if/else onclick?

单击显示以下div.如何根据单击使其在div"内容"中显示不同的消息.我已经有了javascript来显示div的Test1和Test2.我只是想添加一个消息给div"内容"的能力.对困惑感到抱歉.

<a href="" onclick="showThis('test1');return false;">Test 1</a>
<div class="test1"> <p>some content</p> </div>

<a href="" onclick="showThis('test2');return false;">Test 2</a>
<div class="test2"> <p>some content</p> </div>


<div id="content">  

<!-- if clicked on Test 1, display some message. And if clicked on Test 2, display some other message -->

</div>
Run Code Online (Sandbox Code Playgroud)

javascript

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

内核与系统中的Windows进程

我在内核和用户模式中有一些与Windows进程相关的问题.

如果我有一个hello world应用程序,以及一个公开新系统调用的hello world驱动程序foo(),我很好奇我在内核模式下能做什么,不能做什么.

对于初学者来说,当我编写新的hello world应用程序时,我会获得一个新进程,这意味着我拥有自己的用户模式VM空间(让它保持简单,32位窗口).所以我有2GB的空间,我"拥有",我可以偷看,直到我心中的内容.但是,我受到我的程序的约束.我不能(不要让共享内存进入这个)触摸任何人的记忆.

如果,我写这个hello world驱动程序,并从我的用户应用程序调用它,我(驱动程序代码)现在处于内核模式.

第一个澄清/问题:我仍处于与用户模式应用程序相同的过程中,对吗?仍然有相同的PID?

内存问题:内存作为虚拟机呈现给我的进程,即使我有1GB的内存,我仍然可以访问4GB内存(2GB用户/ 2GB内核 - 不关注服务器上的交换机细节,或者具体,只需一个这里的一般假设).作为一个用户进程,我无法窥视任何内核模式的内存地址,但我可以做任何我想要的用户空间,对吗?

如果我调用我的hello world驱动程序,从驱动程序代码中,我是否仍然拥有相同的用户模式内存视图?但是现在我还可以在内核模式下访问任何内存?

这个内核模式是内存SHARED(与用户模式不同,这是我自己的进程拷贝)?也就是说,编写驱动程序更像是为单个进程编写线程应用程序(操作系统除外?)

下一个问题.作为驱动程序,我可以更改正在运行的进程吗?说,我知道另一个应用程序(比如用户模式的web服务器),并为该进程加载VM,更改它的指令指针,堆栈,甚至将不同的代码加载到进程中,然后切换回我自己的应用程序?(我不想在这里做任何邪恶的事情,我只是好奇它在内核模式下的真正含义)?

此外,一旦进入内核模式,我可以阻止操作系统抢占我吗?我认为(在Windows中)您可以设置您的IRQL级别来执行此操作,但即使在阅读Solomons书籍(Inside Windows ...)之后,我也不完全理解这一点.我将问另一个与IRQL/DPC直接相关的问题但是,现在,我想知道内核驱动程序是否有能力将IRQL设置为High并接管系统.

更多内容,但这些问题的答案将有所帮助.

windows operating-system kernel interrupt dispatcher

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

是否可以不借助Javascript来做到这一点?

这个演示本文一起,简洁地描述了我需要做的事情.但是,对于纯CSS中应该可能使用的javascript,我并没有留下深刻的印象.

引用的文章(我在CSS中寻找方法时也独立发现)不能执行与制表演示相同的功能 - 当屏幕宽度太小时,456盒演示不会在其他框下滑动.

我一直在玩文章代码并在CSS中尝试各种想法,但没有任何正确的布局.此外,我更喜欢渐进式增强而非优雅降级.

javascript css

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

如果我不知道大小,我如何将内存分配给char指针?

我有一些递归函数,但我需要解析一个字符串,我不知道该字符串有多长.为此分配内存的合适方式是什么?

c

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

Hibernate c3p0连接池没有超时空闲连接

我们有一个连接到MySQL 5数据库的java服务器,使用Hibernate作为我们的持久层,它使用c3p0进行数据库连接池.

我试过跟随c3p0和hibernate文档:

我们的生产服务器上出现错误,说明:

...引起:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:连接关闭后不允许任何操作.由于基础异常/错误,连接被隐式关闭:

开始没有异常了

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException

消息:从服务器成功收到的最后一个数据包是45000秒前.成功发送到服务器的最后一个数据包是45000秒前,这比服务器配置的'wait_timeout'值长.您应该考虑在应用程序中使用之前过期和/或测试连接有效性,增加服务器配置的客户端超时值,或使用Connector/J连接属性"autoReconnect = true"来避免此问题.

堆栈跟踪:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:从服务器成功收到的最后一个数据包是45000秒前.成功发送到服务器的最后一个数据包是45000秒前,这比服务器配置的'wait_timeout'值长.您应该考虑在应用程序中使用之前过期和/或测试连接有效性,增加服务器配置的客户端超时值,或使用Connector/J连接属性"autoReconnect = true"来避免此问题.

我们的c3p0连接池属性设置如下:

hibernate.c3p0.max_size=10
hibernate.c3p0.min_size=1
hibernate.c3p0.timeout=5000
hibernate.c3p0.idle_test_period=300
hibernate.c3p0.max_statements=100
hibernate.c3p0.acquire_increment=2
Run Code Online (Sandbox Code Playgroud)

MySQL默认wait_timetout默认值为28800秒(8小时),所报告的错误是说,它已经超过45000秒(约12.5小时).虽然c3p0配置声明它将"超时"5000秒后未使用的空闲连接并且它将每隔300秒检查一次,因此空闲连接永远不会超过5299秒?

我通过设置我的开发人员MySQL(Windows上的my.ini,Unix上的my.cnf)wait_timeout = 60并将c3p0空闲超时值降低到60秒以下来进行本地测试,它将正确地超时空闲连接并创建新连接.我还检查以确保我们没有泄漏数据库连接并保持连接,并且它看起来不是我们的.

这是我在开发人员环境中用来测试的c3p0.properties文件,以确保c3p0正确处理连接.

hibernate.properties(使用MySQL wait_timeout = 60进行测试)

hibernate.c3p0.max_size=10
hibernate.c3p0.min_size=1
hibernate.c3p0.timeout=20
hibernate.c3p0.max_statements=100
hibernate.c3p0.idle_test_period=5
hibernate.c3p0.acquire_increment=2
Run Code Online (Sandbox Code Playgroud)

c3p0.properties

com.mchange.v2.log.FallbackMLog.DEFAULT_CUTOFF_LEVEL=ALL
com.mchange.v2.log.MLog=com.mchange.v2.log.FallbackMLog
c3p0.debugUnreturnedConnectionStackTraces=true
c3p0.unreturnedConnectionTimeout=10
Run Code Online (Sandbox Code Playgroud)

database hibernate database-connection connection-pooling c3p0

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

如何解压缩xlsx?

我想使用内部.xlsx文件(styles.xml).我正在使用<oXygen/>内部结构导航,但现在它正在抛出一个错误.

如何解压缩xlsx文件(然后重新打包)?

excel-2007

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