我正在使用3.0版本的Facebook Developer Toolkit来构建一个MVC iframe Facebook应用程序,并且在授予后立即获得无限会话密钥时遇到一些麻烦.
当用户首次点击我的应用程序设置View以设置他们的首选项时,他们只有来自Facebook的通常过期的会话密钥.没问题.
根据他们选择的首选项,我使用Facebook javascript客户端库FB.Connect.showPermissionDialog方法提示他们获取offline_access扩展权限.再次没问题,他们授予许可.
此时,发出新的非过期(无限)会话密钥.我需要将其保存到我的数据库中以备将来使用.问题是,我无法弄清楚如何在需要时立即获取它.包含会话信息的Facebook Cookie在更新页面刷新之前不会更新.
Facebook错误跟踪器中有一个与此相关的错误ID 6421的漏洞,但我正在寻找使用Facebook Developer Toolkit 3.0版本的服务器端解决方案.我想告诉FDT api去Facebook并获得新会议.
我知道新会议是在Facebook方面建立的.http://www.facebook.com/extern/login_status.php上有一个告密的GET,在用户授予offline_access权限后立即出现在Firebug Net面板中,并且响应时包含一些包含新的非过期的javascript会话密钥.如果我继续使用旧的到期会话密钥,我会从Facebook收到无效的会话错误.
在我的控制器中,我有以下代码:
[AcceptVerbs(HttpVerbs.Post)]
[FacebookAuthorization(IsFbml = false)]
public ActionResult Index(FormCollection collection)
{
var api = this.GetApi();
var userid = api.Session.UserId;
var key = api.Session.SessionKey;
}
Run Code Online (Sandbox Code Playgroud)
这是获得旧的SessionKey,而不是新的非过期的.
如果我在GET上使用ExtendedPermissions ="offline_access"装饰我的ActionResult,强制用户在看到页面之前授予offline_access,但我不喜欢这种用户体验.我更喜欢仅在需要时提示使用javascript,并且当我使用ExtendedPermissions ="offline_access"时,javascript权限灯箱比完整页面宽度权限提示要好得多.
我也尝试拦截对我的xd_receiver的调用(我已经创建了一个View,所以我可以在其控制器中点击调试器断点并检查来自Facebook的传入请求).它在授予扩展权限期间受到攻击,但它再次引用旧的过期会话信息.
所以回顾一下,我正在寻找一种方法,使用Facebook Developer Toolkit强制从Facebook刷新会话并获得新的无限会话密钥(和秘密).
有没有办法对触发器的对象类型进行比较?
<DataTrigger Binding="{Binding SelectedItem}" Value="SelectedItem's Type">
</DataTrigger>
Run Code Online (Sandbox Code Playgroud)
背景:我有一个工具栏,我想要隐藏按钮,具体取决于当前为所选项目对象设置的子类.
谢谢
我目前正在运行以下查询:
SELECT*来自人WHERE id = 4;
在下表中:
id name state age
-----------------------------------
1 tony jones CA 22
2 Sue Smith FL 50
3 Alex Guam AL 44
4 tony jones SC 32
5 tony jones OH 12
6 alex guam RI 33
7 tony Jones CO 17
Run Code Online (Sandbox Code Playgroud)
我还要返回一个以该名字命名的其他州的名单.
所以在我的查询示例中,我有"tony jones"的id 4 - 我还应该收到CA,OH,CO的"other_states"列表.
是否可以在一个查询中或者我需要在基于"名称"的事实之后进行单独选择?
我的html看起来大致如此
<div>
<div id="header"></div>
<div id="chart"></div>
<div id="legend"></div>
<div id="info1"></div>
<div id="info2"></div>
<div id="info3"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我想定位这样的元素:

我是怎么做到这一点的?
编辑:这是一个关于"正确的方法"的问题,它肯定不容易谷歌.基本上我想要做的,而不是在html中定义列,是为容器div定义高度,然后让其他div自然地在其中定位.
在我正在构建的应用程序中,我使用acts_as_tree关联将XML文件存储在我的数据库中.我想命名这个类,XMLElement但由于大写是非标准的,因此抛出了轨道.它正在寻找XMLElement文件名xml_element.rb.我尝试更改文件名以x_m_l_element.rb试图欺骗它认为"XML"实际上是两个单词,但这也不起作用.我应该把它吸干并使用名称XmlElement而不是更理想的名称XMLElement,还是有更好的解决方法?
所有这些大型网站"像这一个"手动编写html和css,或者他们使用一些自动化工具来做,因为我总是在努力!
谢谢Vishal
使用D2010,我想做这样的事情:
procedure SizeArray(var aArr: array of integer; aSize: integer);
begin
SetLength(aArr,aSize);
end;
Run Code Online (Sandbox Code Playgroud)
但这无法编译.因为我的"aArr"参数不是动态数组,所以它是一个开放数组参数.并且无法调用SetLength.我知道强制参数为动态数组的唯一方法是给它一个类型名称,如下所示:
type
TIntArray = array of integer;
procedure SizeArray(var aArr: TIntArray; aSize: integer);
begin
SetLength(aArr,aSize);
end;
Run Code Online (Sandbox Code Playgroud)
现在代码编译.它在大多数情况下工作正常,但这失败了:
procedure Test;
var
a : array of integer;
begin
SizeArray(a,5);
end;
Run Code Online (Sandbox Code Playgroud)
因为实际和正式var参数的类型必须相同,并且编译器不会将"整数数组"和"TIntArray"识别为相同类型.
所以,这是我的问题:有没有办法让编译器将我的var参数识别为动态数组而不是开放数组,以便调用者可以声明一个简单的"整数数组"而不是某些命名类型?
提前致谢.
给出以下对象:
public class Product {
string Name {get;}
int Quantity {get;}
}
Run Code Online (Sandbox Code Playgroud)
使用Linq,在获得给定数量List<Product>的总和之前,我将如何查询>=?换句话说,如果我的列表看起来像
Name Quantity
-----------------
prod1 5
prod2 6
prod7 7
Run Code Online (Sandbox Code Playgroud)
我想查询List并拉出实例,直到得到Sum >=8.在这种情况下,我将获得列表中的前两项.如果我想要总和>= 12,我会得到这三个.
我知道我可以写一个循环为我做这个,但我幻想有一些光滑的单行使用Linq来实现同样的事情.
谢谢
有什么区别
(type)value
Run Code Online (Sandbox Code Playgroud)
和
type(value)
Run Code Online (Sandbox Code Playgroud)
在C++中?
在Vim中,如何使用换行符断行文本?
例如,我处于INSERT模式状态,我想从这里开始......
$('#toggle_contact_search_mode').click([CURSOR IS HERE]);
Run Code Online (Sandbox Code Playgroud)
到这里...
$('#toggle_contact_search_mode').click(
[CURSOR IS HERE]
);
Run Code Online (Sandbox Code Playgroud)
我得到的结果是,当我处于插入模式并且我将光标放在上面的第一个位置时,我点击返回...
$('.edit_phone_number').ajaxForm({
success: function(response) {
$('input, select, textarea', '.edit_phone_number').removeClass('updating');
}
});
$('input, select, textarea', '.edit_phone_number').focus(function(event) {
$(event.target).removeClass('updating').addClass('focussed');
});
Run Code Online (Sandbox Code Playgroud)
我根本不想重新格式化.我只想让Vim进入换行符并保持插入模式.
UPDATE
当我暂时删除我的.vimrc文件时,Vim按预期运行.我的.vimrc:
" ==================================================================================
" Global stuff
" ==================================================================================
" Prevent Vim from emulating vi bugs and limitations
:set nocompatible
" Custom status line based on one from here:
" http://www.linux.com/archive/feature/120126
:set statusline=\ \ %f\ \ [FORMAT=%{&ff}]\ \ [TYPE=%Y]\ \ [POS=%04l,%04v][%p%%]\ …Run Code Online (Sandbox Code Playgroud)