所以我非常喜欢使用NHibernate,但总是使用Spring.Net.
我最近遇到了Jeremy Miller的StructureMap,并且比Spring.Net更喜欢它.在他的StructureMap网站上,他承诺一个关于如何一起使用NHibernate和StructureMap的例子.不幸的是,他没有时间去做(或者我找不到).
那么有没有人有关于如何使用StructureMap处理NHibernate会话的例子?
在设计一个类时,应该将逻辑维护有效状态合并到类中还是外部?也就是说,属性是否应该在无效状态上抛出异常(即值超出范围等),还是应该在构造/修改类的实例时执行此验证?
如何在单元测试中测试想要引发的编译器错误?
考虑一下代码:
class ErrorTest
{
OtherClass& read_write() {
return other;
}
const OtherClass& read_only() const {
return other;
}
private:
OtherClass other;
};
Run Code Online (Sandbox Code Playgroud)
如何测试read_only()赋值?这非常重要,应该坚定地检查以正确生成编译器错误:
ErrorTest test;
OtherClass other = test.read_only();
test.read_write() = other.modify();
test.read_only() = other.modify(); /* This should error */
Run Code Online (Sandbox Code Playgroud) 我完全不知道应该做什么吗?我希望如果我在一个事件上调用stopPropagation(),那么该事件的处理程序将不会在祖先元素上触发,但下面的示例不是那样工作的(至少在FireFox 3中).
<script type="text/javascript">
$("input").live("click", function(event){
console.log("input click handler called")
event.stopPropagation()
});
$("body").live("click", function(event){
console.log("body was click handler called. event.isPropagationStopped() returns: " + event.isPropagationStopped());
})
</script>
...
<body>
<input type="text" >
</body>
Run Code Online (Sandbox Code Playgroud) 我有一个具有以下结构的网站:
<div id="header"></div>
<div id="main">
<div id="navigation"></div>
<div id="content"></div>
</div>
<div id="footer"></div>
Run Code Online (Sandbox Code Playgroud)
导航位于左侧,内容div位于右侧.内容div的信息通过PHP引入,因此每次都不同.
我如何垂直缩放导航,使其高度与内容div的高度相同,无论加载哪个页面?
我正在尝试为使用集成身份验证的Intranet应用程序编写Watin测试.我正在尝试测试的网页打印Page.User.Identity.Name.
以下是我测试的一些代码:
if (Win32.LogonUser(u.UserName, u.Domain, u.Password, 2 /*LOGON32_LOGON_INTERACTIVE*/, 0 /*LOGON32_PROVIDER_DEFAULT*/, out hToken))
{
if (Win32.DuplicateToken(hToken, 2, out hTokenDuplicate))
{
WindowsIdentity windowsIdentity = new WindowsIdentity(hTokenDuplicate);
WindowsImpersonationContext impersonationContext = windowsIdentity.Impersonate();
Console.WriteLine(WindowsIdentity.GetCurrent().Name);
using (IE ie = new IE(url))
{
Console.WriteLine(ie.ContainsText(u.UserName));
ie.AutoClose = false;
}
impersonationContext.Undo();
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它会打印我试图模拟到控制台的用户名,但是网页显示我当前登录的用户,而不是我应该模仿的用户.
类似的问题发现于:
使用AzMan实现的授权方案的自动测试
我有一个存储过程,可以在许多数据库中运行,并且存储过程的功能需要根据数据库略有不同.我一直在网上看书,看着系统表,看看这可能在那里,但到目前为止还没有快乐.
如果它存在的话,必须有一个人碰巧知道这个.
我正在使用PHP 5.3.0并且遇到了可能是错误的东西(在这种情况下我会报告它)或者可能是我 - 所以我要求确认.
运行此代码时:
<?php
ini_set('upload_max_filesize', '10M');
echo ini_get('upload_max_filesize'), ", " , ini_get('post_max_size')
Run Code Online (Sandbox Code Playgroud)
我最终得到:
2M, 8M
Run Code Online (Sandbox Code Playgroud)
这是尽管我的php.ini设置更高:
upload_max_filesize = 10M
post_max_size = 10M
Run Code Online (Sandbox Code Playgroud)
(只发生一次)
因为在设置值以及在php.ini中设置之后发生错误我倾向于认为这是一个错误.任何人都可以确认或指出我哪里出错了?
更新:看起来重启Apache修复了这个 - 我一直认为如果你改变php.ini它不需要重新启动.
以下语句中DOM元素的含义是什么?
您可以向单个DOM元素添加多个类.
关键是CSS中的继承不是通过类完成的,而是通过元素层次结构完成的.因此,要为继承的特征建模,您需要将它们应用于DOM中不同级别的元素.
我知道DOM代表着 Domain Object Model.它似乎是声明中API的同义词.
我已经开发了一个随机字符串生成器,但它的行为并不像我希望的那样.我的目标是能够运行两次并生成两个不同的四个字符随机字符串.但是,它只生成一个四字符随机字符串两次.
这是代码和输出的示例:
private string RandomString(int size)
{
StringBuilder builder = new StringBuilder();
Random random = new Random();
char ch;
for (int i = 0; i < size; i++)
{
ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65)));
builder.Append(ch);
}
return builder.ToString();
}
// get 1st random string
string Rand1 = RandomString(4);
// get 2nd random string
string Rand2 = RandomString(4);
// create full rand string
string docNum = Rand1 + "-" + Rand2;
Run Code Online (Sandbox Code Playgroud)
......输出看起来像这样:UNTE-UNTE ......但看起来应该像UNTE-FWNU
如何确保两个明显随机的字符串?
c# ×2
c++ ×1
css ×1
dom ×1
events ×1
html ×1
jquery ×1
nhibernate ×1
oop ×1
php ×1
random ×1
sql-server ×1
state ×1
structuremap ×1
unit-testing ×1
upload ×1
watin ×1