我正在使用jquery对asp.net mvc控制器动作进行ajax调用:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult GetWeek(string startDay)
{
var daysOfWeek = CompanyUtility.GetWeek(User.Company.Id, startDay);
return Json(daysOfWeek);
}
Run Code Online (Sandbox Code Playgroud)
当会话超时时,此调用将失败,因为User对象存储在会话中.我创建了一个自定义authorize属性,以检查会话是否丢失并重定向到登录页面.这适用于页面请求,但它不适用于ajax请求,因为您无法从ajax请求重定向:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class AuthorizeUserAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (!httpContext.Request.IsAjaxRequest())
{//validate http request.
if (!httpContext.Request.IsAuthenticated
|| httpContext.Session["User"] == null)
{
FormsAuthentication.SignOut();
httpContext.Response.Redirect("~/?returnurl=" + httpContext.Request.Url.ToString());
return false;
}
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
我在另一个线程上读到,当用户未经过身份验证并且你发出ajax请求时,你应该将状态代码设置为401(未授权),然后在js中检查它并将它们重定向到登录页面.但是,我不能让这个工作:
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (Request.IsAjaxRequest() && (!Request.IsAuthenticated || User == null))
{
filterContext.RequestContext.HttpContext.Response.StatusCode = 401;
}
else
{
base.OnActionExecuting(filterContext);
} …Run Code Online (Sandbox Code Playgroud) 与根据选项添加XML属性相关,我想根据选项在Scala中添加XML标记.
scala> def toXml(value1: String, value2: Option[String]) =
| <body>
| <tag1>{value1}</tag1>
| {value2 map (x => <tag2>{x}</tag2>) flatten}
| </body>
toXml: (value1: String,value2: Option[String])scala.xml.Elem
Run Code Online (Sandbox Code Playgroud)
如果选项存在:
scala> toXml("value1", Some("value2"))
res1: scala.xml.Elem =
<body>
<tag1>value1</tag1>
<tag2>value2</tag2>
</body>
Run Code Online (Sandbox Code Playgroud)
如果选项不存在:
scala> toXml("value1", None)
res2: scala.xml.Elem =
<body>
<tag1>value1</tag1>
</body>
Run Code Online (Sandbox Code Playgroud)
我想根据选项生成很多标签,我想知道是否可以找到更简洁的解决方案.例如,拉着Elem班的?运算符并像这样使用它(这是一个肮脏的解决方案,因为在调用?运算符之前将Option value2转换为String):
scala> def toXml2(value1: String, value2: Option[String]) =
| <body>
| <tag1>{value1}</tag1>
| {<tag2>{value2}</tag2>?}
| </body>
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我有一个可接收高级内容的Android应用,我想在服务器端验证该应用是通过Android Market购买的。我可以使用许可服务来检查对应用程序的访问,有没有办法从服务器连接到许可服务?如果没有,我可以使用Google Checkout API数据来验证购买吗?
假设我想要包含一个where基于两列X和Z 的 子句.然后我按顺序排序(3 * X) + Z DESC.那可能吗?我没能按列顺序找到关于算术的任何内容.
所以声明如下:
SELECT * FROM mySweetTable
WHERE U LIKE "as%" or V LIKE "as%"
ORDER BY (3 * X + Z) DESC
Run Code Online (Sandbox Code Playgroud) 可能重复:
未命名/匿名命名空间与静态函数
我遇到了这段代码
namespace ABC {
namespace DEF {
namespace
{
Run Code Online (Sandbox Code Playgroud)
我希望命名空间后面应该有一些名称,但是这个代码并不是这样.
在C++中允许这样做吗?这个未命名的命名空间的优点是什么?
我正在使用Capistrano来部署Rails应用程序.我正在考虑存在数据库更改的情况,因此我不能简单地cap deploy因为迁移需要在代码更新之前运行.我意识到有一个cap deploy:migrations,但这比我想要的更自动一些.我想:
rake:db_abort_if_pending_migrations以确认我要运行的迁移是唯一的待处理迁移,然后rake db:migrate手动运行.有没有任何简单的方法可以使用内置的Capistrano任务执行此操作,还是需要编写自己的部署步骤来完成此操作?
我还应该提一下,我正在考虑可以在实时数据库上运行迁移的情况(比如添加列).对于更具破坏性的更改,我意识到我需要在部署期间使用维护页面关闭网站.
如何制作这样的SOQL查询?
SELECT id FROM Account WHERE LastActivityDate = 30_DAYS_AGO
Run Code Online (Sandbox Code Playgroud)
这会产生错误:
MALFORMED_QUERY:
Account WHERE LastActivityDate = 30_DAYS_AGO
^
Run Code Online (Sandbox Code Playgroud) 我下载并安装了libjingle-0.5.2.zip,并根据README还下载并安装了swtoolkit.0.9.1.zip,scons-local-2.1.0.alpha.20101125.tar.gz和expat-2.0. 1.tar.gz,并通过cvs下载获得nrtp.在覆盖了我的Makefile两次,尝试按照写得很差的自述文件后,我想出了几乎可以工作的以下Makefile:
# First, make sure the SCONS_DIR environment variable is set correctly.
SCONS_DIR ?= /usr/src/scons-local/scons-local-2.1.0.alpha.20101125/
#SCONS_DIR ?= /usr/src/scons-local/
export
default: build
# Second, run talk/third_party/expat-2.0.1/configure...
talk/third_party/expat-2.0.1/Makefile:
cd talk/third_party/expat-2.0.1 && ./configure
# ...and talk/third_party/srtp/configure.
talk/third_party/srtp/Makefile:
cd talk/third_party/srtp && ./configure
# Third, go to the talk/ directory and run $path_to_swtoolkit/hammer.sh. Run
# $path_to_swtoolkit/hammer.sh --help for information on how to build for
# different modes.
build: talk/third_party/expat-2.0.1/Makefile talk/third_party/srtp/Makefile
cd talk && ../../swtoolkit/hammer.sh
help:
../swtoolkit/hammer.sh --help
Run Code Online (Sandbox Code Playgroud)
但是,make给我以下错误:
jcomeau@intrepid:/usr/src/libjingle-0.5.2$ make cd talk …
在MSDN上,我Portable Class Library在版本信息下注意到有关a的部分.
请参阅System.Object示例.http://msdn.microsoft.com/en-us/library/system.object.aspx
我做了一个简短的谷歌搜索,找不到任何关于Portable Class Library.这里有谁知道它是什么或在哪里可以找到更多相关信息?
.net ×1
android ×1
android-lvl ×1
apex-code ×1
asp.net-mvc ×1
c++ ×1
capistrano ×1
deployment ×1
google-code ×1
jquery ×1
libjingle ×1
namespaces ×1
php ×1
python ×1
salesforce ×1
scala ×1
soql ×1
sql ×1
xml ×1