我在我的iframe facebook应用程序中使用Facebook php-sdk来获取用户登录状态.在我使用Facebook帐户>注销链接注销后,会话尚未销毁.我必须在旧会话到期前等待几分钟,然后我的应用程序将再次获得正确的登录状态.
我希望Facebook能够在用户退出时自行杀死会话.如何手动终止会话?
这是我的代码:
$initParams = array(
'appId' => $conf['app_id'],
'secret' => $conf['secret_api_key'],
'cookie' => TRUE,
);
$fb = new Facebook($initParams);
$fb->getSession(); // will return a session object eventhough user signed out!
Run Code Online (Sandbox Code Playgroud)
解决了:
$fb->api('/me')如果用户先前已注销,则调用将销毁会话.我已将代码更改为:
if ($session)
{
try
{
$fbuid = $fb->getUser();
$me = $fb->api('/me');
}
catch(FacebookApiException $e){}
}
Run Code Online (Sandbox Code Playgroud)
如果API调用不成功,$session将设置为NULL.非常奇怪的行为,我不解释这里发生的一切,但它解决了我的问题,即没有通过getSession()方法更新剩余的会话对象.
我需要在不同的分区上存储两个Innodb数据库文件.(raid0上有一个数据库用于速度,另一个数据库用于raid1以获得稳定性)
根据我的阅读,实现这一目标的唯一方法是使用innodb_file_per_table和符号化.ibd和.frm文件,无论它们可能存在于已配置的mysql存储目录(我系统上的/ var/lib/mysql),其中ibdata1文件必须存在(对于表元数据).
这是完成拆分的唯一方法吗?
是否有与myisam的TABLE/INDEX DIRECTORY类似的innodb?
我正在为远程存储文件的Rails应用程序添加测试.我正在使用默认的Rails功能测试.如何向他们添加文件上传?我有:
test "create valid person" do
post(:create, :person => { :avatar => fixture_file_upload('avatar.jpeg') })
end
Run Code Online (Sandbox Code Playgroud)
这由于某种原因上传a Tempfile并导致AWS/S3gem失败:
NoMethodError: undefined method `bytesize' for Tempfile
Run Code Online (Sandbox Code Playgroud)
他们是否可以ActionDispatch::Http::UploadedFile通过网络浏览器进行测试,以获得测试使用和执行更多的测试?是fixture_file_upload测试上传文件到控制器的方式吗?如果是这样,为什么它不像浏览器一样工作?
作为一个说明,我真的不想切换测试框架.谢谢!
是否urllib2支持DELETE或PUT方法?如果是,请提供任何示例.我需要使用活塞API.
下面两段代码有什么区别?我希望他们能够返回相同的结果,但他们没有.
在xml.@Type ="null"的情况下,我希望PatientMetricTypeID(一个可以为空的整数)最终成为Nothing.
第1块:如果()
在这种情况下,它最终为0.看起来Nothing被视为一个整数并转换为0.我可以看到为什么这可能发生但不完全...我想知道它是如何工作的,如果有解决方法
Dim PatientMetricTypeID As Integer? = If(xml.@Type = "null",
Nothing,
CType([Enum].Parse(GetType(PatientMetricTypes), xml.@Type), Integer))
Run Code Online (Sandbox Code Playgroud)
块#2:如果
在这种情况下,它最终为Nothing - 预期的行为.
Dim PatientMetricTypeID As Integer?
If xml.@Type = "null" Then
PatientMetricTypeID = Nothing
Else
PatientMetricTypeID = CType([Enum].Parse(GetType(PatientMetricTypes), xml.@Type), Integer)
End If
Run Code Online (Sandbox Code Playgroud) <TextBlock Text="{Binding Path=[0]} />
Run Code Online (Sandbox Code Playgroud)
要么
<TextBlock Text="{Binding Path=[myKey]} />
Run Code Online (Sandbox Code Playgroud)
工作良好.但有没有办法将变量作为索引键传递?
<TextBlock Text="{Binding Path=[{Binding Column.Index}]} />
Run Code Online (Sandbox Code Playgroud) 有没有办法将Spring绑定到地图中的值?
例如,我有一个Map<String,String>,我想弹出绑定其中的特定值.用户将在输入元素中键入内容,并且该输入元素的值将绑定到与地图中特定键关联的值.
我有这段代码
listItems = $("#productList").find("li");
for (var li in listItems) {
var product = $(li);
var productid = product.children(".productId").val();
var productPrice = product.find(".productPrice").val();
var productMSRP = product.find(".productMSRP").val();
totalItemsHidden.val(parseInt(totalItemsHidden.val(), 10) + 1);
subtotalHidden.val(parseFloat(subtotalHidden.val()) + parseFloat(productMSRP));
savingsHidden.val(parseFloat(savingsHidden.val()) + parseFloat(productMSRP - productPrice));
totalHidden.val(parseFloat(totalHidden.val()) + parseFloat(productPrice));
}
Run Code Online (Sandbox Code Playgroud)
而且我没有得到预期的结果 - totalItems的出现是180+,其余的都是NaN.我怀疑它在哪里使用var product = $(li);或者可能与循环本身的表达式有关.无论哪种方式 - 我需要循环标记的<li>项目<ul>#productList
我以为我理解@property和@synthesize,但我做了一些实验,我无法弄清楚为什么下面(我认为被破坏)代码有效.
如您所见,没有与name属性对应的实例变量.如果Objective-C找不到具有相同名称和类型的实例变量,它是否会以某种方式创建实例变量?
标题:
#import <Foundation/Foundation.h>
@interface AddressCard : NSObject {
}
@property (copy, nonatomic) NSString *name;
-(void) print;
@end
Run Code Online (Sandbox Code Playgroud)
执行:
#import "AddressCard.h"
@implementation AddressCard
@synthesize name;
-(void) print {
NSLog(@"Name=%@", self.name);
}
-(void) dealloc {
[name release];
[super dealloc];
}
@end
Run Code Online (Sandbox Code Playgroud)
测试:
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
AddressCard *ac = [[AddressCard alloc] init];
ac.name = @"Brandon";
[ac print];
[ac release];
[pool drain];
return 0;
}
Run Code Online (Sandbox Code Playgroud) 有没有办法在后台运行"内联"代码块而不将块定义为函数?我想的是:
( do something; a bit more; finally this ) &
( more things; etc ...; ) &
wait
proceed ...
Run Code Online (Sandbox Code Playgroud)
我想它只有一行额外定义一次使用功能,然后立即使用它,但我很好奇,没有找到任何搜索.
.net ×2
background ×1
binding ×1
data-binding ×1
gem ×1
if-statement ×1
indexer ×1
innodb ×1
java ×1
javascript ×1
jquery ×1
mysql ×1
objective-c ×1
php ×1
python ×1
ruby ×1
session ×1
shell ×1
spring ×1
spring-mvc ×1
urllib2 ×1
vb.net ×1
wpf ×1
xaml ×1