为了账号安全,请及时绑定邮箱和手机立即绑定

Google App Engine context.Context

Google App Engine context.Context

Go
LEATH 2021-12-07 15:20:47
在 GAE Go 中,为了记录,我们需要创建一个新的上下文,使用appengine.NewContext(r)which returns context.Context。如何使用此上下文在请求范围内设置/获取变量?在 Gorilla 中,Context在上下文中有一个干净的 Set/Get 函数,这是我想在我的代码中使用的。但是我不想导入 2 个不同的上下文包。GAE 日志记录强制您使用context.Context.//handlerFuncfunc MyFunc(w http.ResponseWriter, r *http.Request) {    ctx := appengine.NewContext(r)    // I want to set request scoped variables in context and pass it to doSomething.    doSomething(ctx,w,r);}func doSomething(ctx context.Context, w http.ResponseWriter, r *http.Request) {    log.Debugf(ctx, "Beginning doSomething"); //requires context parameter    // get the request scoped variables from context. How? Use Gorilla Context?}
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

import (

    "golang.org/x/net/context"

    gorillacontext "github.com/gorilla/context"    

)

我知道这是不是你想要的答案,但有没有办法解决它,因为“背景下的围棋标准库(由App Engine的使用)”包不提供你想要比大猩猩“的功能范围内”包. 如果要使用定义自己的“上下文”包的其他框架,则需要使用多个导入。


在小组讨论中对这两个上下文提出了一个很好的观点,因为可能 Gorilla 的上下文被错误命名,因为它们都用于不同的目的——“App Engine 一个存储凭据以发出 RPC 请求;Gorilla 一个只是请求的容器全球性。”


查看完整回答
反对 回复 2021-12-07
  • 1 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信