我在这里阅读的大多数解决方案是在DNS级别支持每个用户的子域名,使用*.domain.com将所有内容指向一个IP.
这是一个简单而简单的解决方案,但如果我想将前1000个注册用户指向serverA,接下来的1000个注册用户指向serverB呢?这是我们在集群软件和硬件方面降低成本的首选解决方案.
alt text http://learn.iis.net/file.axd?i=1101 (引用自MS IIS网站的图表)
最合乎逻辑的解决方案似乎在Zone Datafiles中每个子域有1 x A-record.BIND似乎对区域数据文件没有任何大小限制,仅限于可用内存.
但是,由于创建新的子域包括插入新的A记录并重新启动DNS服务器,因此我的团队担心新的subdoamin准备就绪的延迟.
我们应该担心重启DNS服务器的性能吗?
先感谢您.
更新:
似乎大多数人建议我使用反向代理设置:
alt text http://learn.iis.net/file.axd?i=1102
(ARR是IIS7的反向代理解决方案)
但是,这是我能看到的CONS:
这是我的代码:
HTML:
<ul id="more-items">
<li><label class="button">hi</label></li>
<li><label class="button">hi</label></li>
<li><label class="button">hi</label></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
$('ul#more-items label.button').live('click', function()
{
alert(1);
});
Run Code Online (Sandbox Code Playgroud)
单击标签不会导致alert()触发..live()绑定似乎对标签元素没有影响......
如果我将其更改为使用.click()甚至.bind(),它可以完美地运行.是否有任何原因.live()不起作用?有没有办法来解决这个问题?
我使用.live()的原因是因为ul#more-items将多次读取到页面并且我不希望每次重新绑定点击时都必须触发一个函数.
我有我的功能(我需要以后解开):
$("#closebtn").click(function(){
$.address.value('/x');
});
Run Code Online (Sandbox Code Playgroud)
我在事件发生后解开它:
$("#closebtn").unbind("click");
Run Code Online (Sandbox Code Playgroud)
现在我想将我的"点击"功能再次关联到我的#closebtn,我该怎么办?谢谢你
我想使用boost :: transform_iterator和boost :: bind来返回成员函数的结果.
例如
class Foo
{
public:
//...
Bar& getBar();
const Bar& getBar() const;
};
Run Code Online (Sandbox Code Playgroud)
我有一个一元的Function对象来选择getBar()函数
struct getBar: public std::unary_function<Foo&,Bar&>
{
getBar::result_type operator()(getBar::argument_type arg ) const {
return arg.getBar()
}
};
Run Code Online (Sandbox Code Playgroud)
并且假设我已经在std :: vector中存储了几个Foo对象,我使用了类似的tranform_iterator
int main()
{
typedef std::vector<Foo> VEC;
typedef boost::transform_iterator<getBar,VEC::iterator> iterator;
VEC vec;
vec.push_back( Foo ());
iterator i( vec.begin() );
//...
Bar = *i;
return 0;
};
Run Code Online (Sandbox Code Playgroud)
但是,如果我想使用boost :: bind而不是getBar仿函数,我该怎么做呢.我不确定我必须将哪个模板参数传递给transform_iterator.
编辑:
使用boost :: function的解决方案是一个很好的开始,但我并不完全满意,所以尝试了一下并查看了boost :: mem_fn的返回类型
typedef boost::transform_iterator<boost::_mfi::mf0<Bar&,Foo>,VEC::iterator> iter;
typedef boost::transform_iterator<boost::_mfi::cmf0<const Bar&,Foo>,VEC::const_iterator> citer;
Run Code Online (Sandbox Code Playgroud)
但这个解决方案有另一个问题.因为
iter …Run Code Online (Sandbox Code Playgroud) 我有一个链接列表,这些链接是由表单中的其他函数动态创建的<a id="hi-1">test</a> <a id="hi-2">test</a>.
我正在尝试定位这些链接并将click/mouseover事件绑定到它们.以下是针对其中一个链接(#hi-1)的代码:
$(function() {
$("#hi-1") .bind("mouseover", highlight);
$("#hi-1") .bind("mouseleave", highlight);
$("#hi-1") .bind("click", highlight);
});
function highlight(evt){
$("p#p-1").toggleClass("highlighted");
}
Run Code Online (Sandbox Code Playgroud)
这应该切换类的名称.
我似乎无法让它工作,我相信这可能与链接是动态创建的事实有关.但是我有很少的jQuery经验,我可能会以错误的方式去做.
任何帮助深表感谢.
在C#中创建控件数组时,如何将接收单击按钮索引的函数绑定到其click事件?
以下是一些仅用于更好理解的代码.在代码之上的某处,您可以定义按钮:
Button [] buttons = new Button[100];
Run Code Online (Sandbox Code Playgroud)
它们的标准Click事件如下所示:
private void myClick(object sender, EventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)
通常你这样绑定它:
for (int i = 0; i < 100; i++)
buttons[i].Click += myClick;
Run Code Online (Sandbox Code Playgroud)
但我希望事件处理程序采用以下形式:
private void myClick(int Index)
{
}
Run Code Online (Sandbox Code Playgroud)
如何使用/不使用临时功能将点击事件绑定到上述功能?
我想过使用委托,Func<T, TResult>表示法,或以某种方式传递自定义EventArgs,其中包含单击按钮的索引; 但由于缺乏足够的C#知识,我没有成功.
如果你们中的任何人建议在其标签中保存每个控件的索引:是的,这是可能的,但我不想出于某种原因使用它,因为如果你有一个类抛出一些事件但是没有标签属性或东西,这种方式是没用的.
我正在使用FOSRestbundle实现rest API.现在说对于POST请求我正在获取请求参数,如:
Symfony\Component\HttpFoundation\ParameterBag Object
(
[parameters:protected] => Array
(
[rank] => 12
[city] => 1345
[comment]=> 'safd'
)
)
Run Code Online (Sandbox Code Playgroud)
我的帖子操作代码是:
/**
* @Rest\View
*/
public function newAction(){
$rank= new Rank();
$form = $this->createForm(new RankType(), $rank);
$form->bind($this->getRequest());
if ($form->isValid()) {
//. $user->flush();
$em = $this->getDoctrine()->getManager();
$em->persist($rank);
$em->flush();
$response = new Response();
$response->setStatusCode($statusCode);
$view = View::create()
->setData($rank)
->setFormat('json');
return $this->handleView($view);
}
return $this->handleView(View::create($form, 400));
}
Run Code Online (Sandbox Code Playgroud)
但form->isValid由于设置空值而失败.
After Binding form form->getData() will display :
MyProject\DataBundle\Entity\Rank Object
(
[city:MyProject\DataBundle\Entity\Ranking:private] =>
[rank:MyProject\DataBundle\Entity\Ranking:private] => …Run Code Online (Sandbox Code Playgroud) 我试图在Windows PHP本地测试环境中查询安全连接中的远程LDAP服务器.我认为我必须正确授予访问权限,因为我可以使用LDAP浏览器应用程序并且可以很好地连接到远程服务器.此外,如果我'telnet remoteserverurl.com 636'然后在命令提示符中显示一个空白屏幕,所以我至少连接.但是在我的下面的.php代码中,我在bind上遇到错误:"PHP警告:ldap_bind():无法绑定到服务器:无法联系LDAP服务器......"
相同的代码适用于Linux服务器.我认为在我的本地php环境中有一些缺少的LDAP库用于安全的LDAP连接?无论如何,这是代码:
$ds=ldap_connect("ldaps://serveraddress.com", "636"); // remote server
//$ds=ldap_connect("ldap://localhost", 389); // works
//putenv('LDAPTLS_REQCERT=never');//doesn't help with secure ldap
//ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); //works for local LDAP server (Open LDAP)
$r=ldap_bind($ds, "cn=xxx,ou=proxy,o=xxx", "passwordxxxx");//throws error for remote
Run Code Online (Sandbox Code Playgroud)
任何的想法?谢谢!
我有一个存储函数回调的类,另一个有一个我想要设置为回调的成员函数,如下所示:
using namespace std::placeholders;
class A {
typedef std::function<void(int)> Callback;
Callback callback;
A() {}
A(Callback f) : callback(f);
do_something(int x) { callback(x); }
}
class B {
A a;
void function(int x) { printf("%d", x); }
B()
{
a = A( std::bind(&B::function, this, _1) );
}
Run Code Online (Sandbox Code Playgroud)
当我这样做并尝试调用回调函数时,我在MSVC上得到一个无效的函数调用错误.我在这做错了什么?
编辑01/21/2014
正如axalo指出的那样,此代码中没有错误(除了一些拼写错误).它确实编译.但是我正在做一些测试,我得到一个奇怪的行为:当我在构造函数上使用'bind'和'this'指针时,即,
B() { a = A( std::bind( &B::function, this, _1)); }
Run Code Online (Sandbox Code Playgroud)
'this'指针与指向类实例的实际指针不同,如果我这样做:
void helper() = { a = A( std::bind( &B::function, this, _1)); }
B() { }
Run Code Online (Sandbox Code Playgroud)
并从实例调用helper(),我得到正确的'this'指针.这种行为是否正确?我不应该相信构造函数中'this'指针的值?
谢谢.
如何获取std::bind表达式的类型以将其存储在类成员中?例如,我有这个:
template<class F, class ...Args>
void foo(F&& funct, Args&&... args) {
typedef decltype(std::bind(funct, std::forward<Args>(args)...)) T;
T bar = std::bind(funct, std::forward<Args>(args)...);
}
Run Code Online (Sandbox Code Playgroud)
但我想将其转换为:
template<class F, class ...Args>
class Foo {
void foo(F&& funct, Args&&... args) {
bar = std::bind(funct, std::forward<Args>(args)...);
}
T bar; // what is the type of bar?
}
Run Code Online (Sandbox Code Playgroud)