小编Ven*_*ius的帖子

App引擎推送任务总是在测试中返回404

我在Go App Engine应用程序中有一个推送任务队列.当我们尝试将任务排入测试时,无论出于何种原因,任务总是返回404.

我们的app.yaml:

runtime: go
api_version: go1.9

handlers:
 - url: /worker/.*
   script: _go_app
   login: admin
 - url: /.*
   script: _go_app
Run Code Online (Sandbox Code Playgroud)

实际的任务调用:

func Handler(w http.ResponseWriter, r *http.Request) {
    ctx := appengine.NewContext(r)
    t := taskqueue.NewPOSTTask("/worker", map[string][]string{"key": {"val"}})
    _, err := taskqueue.Add(ctx, t, "")
    if err != nil {
        log.Errorf(ctx, "Failed to add task");
    }
    fmt.Fprintf(w, "Success");
}
Run Code Online (Sandbox Code Playgroud)

一个仍然不完整的处理程序,但它存在!

func Worker(w http.ResponseWriter, r *http.Request) {
    ctx := appengine.NewContext(r)
    log.Infof(ctx, "Worker succeeded")
}
Run Code Online (Sandbox Code Playgroud)

最后,证明我们实际上已经添加了路由器的路径:

func init() {
    http.HandleFunc("/", Handler)
    http.HandleFunc("/worker", Worker)
}
Run Code Online (Sandbox Code Playgroud)

当我们实际运行测试时,我们总是得到以下日志记录输出: …

google-app-engine go google-app-engine-go

10
推荐指数
1
解决办法
373
查看次数

带有列表的asp.net核心ioptions

我正在尝试从appsettings.json文件中读取值列表.我能够Logging毫无问题地读取值,但列表值(即Servers)为空:

appsettings.json:

{
 "Logging": {
      "IncludeScopes": false,
      "LogLevel": {
           "Default": "Debug",
           "System": "Information",
           "Microsoft": "Information"
      }
 },
 "Servers": [
      "SCHVW2K12R2-DB",
      "SCHVW2K12R2-DB\\MSSQL2016",
      "SCHVW2K8R2-DB"
    ]
}
Run Code Online (Sandbox Code Playgroud)

对象类:

public class AppSettingsConfiguration
{
    public Logging Logging { get; set; }
    public Servers Servers { get; set; }
}

//Logging Objects
public class Logging
{
    public bool IncludeScopes { get; set; }
    public LogLevel LogLevel { get; set; }
}
public class LogLevel
{
    public string Default { get; …
Run Code Online (Sandbox Code Playgroud)

c# json asp.net-core

8
推荐指数
2
解决办法
2317
查看次数

找不到com.android.support:appcompat-v7:28.0.3

我无法解决此问题,请帮助我!我遇到以下错误:

Could not find com.android.support:appcompat-v7:28.0.3.
Searched in the following locations:
    file:/C:/invincible/extras/m2repository/com/android/support/appcompat-v7/28.0.3/appcompat-v7-28.0.3.pom
    file:/C:/invincible/extras/m2repository/com/android/support/appcompat-v7/28.0.3/appcompat-v7-28.0.3.jar
    file:/C:/invincible/extras/google/m2repository/com/android/support/appcompat-v7/28.0.3/appcompat-v7-28.0.3.pom
    file:/C:/invincible/extras/google/m2repository/com/android/support/appcompat-v7/28.0.3/appcompat-v7-28.0.3.jar
    file:/C:/invincible/extras/android/m2repository/com/android/support/appcompat-v7/28.0.3/appcompat-v7-28.0.3.pom
    file:/C:/invincible/extras/android/m2repository/com/android/support/appcompat-v7/28.0.3/appcompat-v7-28.0.3.jar
    file:/C:/Program Files/Android/Android Studio/gradle/m2repository/com/android/support/appcompat-v7/28.0.3/appcompat-v7-28.0.3.pom
    file:/C:/Program Files/Android/Android Studio/gradle/m2repository/com/android/support/appcompat-v7/28.0.3/appcompat-v7-28.0.3.jar
    https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/28.0.3/appcompat-v7-28.0.3.pom
    https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/28.0.3/appcompat-v7-28.0.3.jar
    http://jcenter.bintray.com/com/android/support/appcompat-v7/28.0.3/appcompat-v7-28.0.3.pom
    http://jcenter.bintray.com/com/android/support/appcompat-v7/28.0.3/appcompat-v7-28.0.3.jar
Required by:
    project :app

Please install the Android Support Repository from the Android SDK Manager.
Open Android SDK Manager
Run Code Online (Sandbox Code Playgroud)

我尝试下载,但显示如下:

{
  "errors" : [ {
    "status" : 404,
    "message" : "Could not find resource"
  } ]
}
Run Code Online (Sandbox Code Playgroud)

我的build.gradle节目Gradle项目同步失败。基本功能将无法正常运行。

我的build.gradle代码:

***android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 15
        targetSdkVersion …
Run Code Online (Sandbox Code Playgroud)

repository build.gradle android-studio-3.2

6
推荐指数
1
解决办法
5427
查看次数

为什么 binascii.b2a_base64() 和 base64.b64encode() 有区别?

我试图通过以下两个函数来理解我看到的一些不同的行为:

def hex_to_64(string):
    hex_string = binascii.a2b_hex(string)
    return binascii.b2a_base64(hex_string)

def hex_to_64_2(string):
    hex_string = binascii.a2b_hex(string)
    return base64.b64encode(hex_string)
Run Code Online (Sandbox Code Playgroud)

如果我将一个十六进制字符串传递给前者,我会在最后用换行符将其取回,而后者则没有。有什么原因吗?

python python-2.7

5
推荐指数
1
解决办法
2181
查看次数

您是否可以跨具有服务角色的项目共享Google Cloud KMS密钥?

这篇GCP文章建议使用两个独立的项目:一个用于密钥管理,另一个用于加密/解密.

这似乎是一个适用于用户角色的设置,但不适用于服务角色,因为服务角色绑定到它所属的项目.我错过了什么吗?

实际上是否有一种方法可以创建一个角色(在项目1中,比如项目1),创建KMS密钥,然后有一个服务角色(在项目2中),它可以在运行时访问所述密钥进行解密?

google-app-engine google-cloud-platform google-cloud-kms

4
推荐指数
1
解决办法
782
查看次数

reCAPTCHA 的 CORS

我正在开发一个网站,希望在其中包含 Google 的 reCAPTCHA。

如果我将以下<script>标签添加到我的<head>

<script crossorigin="anonymous" src='https://www.google.com/recaptcha/api.js'> </script>

我收到以下错误:

Access to Script at 'https://www.google.com/recaptcha/api.js' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access.

好吧,好吧,够公平的。在 localhost 上工作时,我始终可以在 Chrome 上禁用 CORS。但域名是 www.google.com。我不太愿意将 access-control-allow-origin 标头发送到 google 根域上的任何内容 - 这感觉就像是一个可以让公交车通过的安全漏洞。

如何通过合理的生产设置来解决此问题,以处理此处的跨源问题?

google-chrome cross-domain recaptcha cors

1
推荐指数
1
解决办法
6884
查看次数

在 NRULES 中实现前向链接的最佳方式

我想根据前一个规则的结果运行一个规则。如何使用前向链接实现此功能?我不想为每个规则创建不同的类对象来实现前向链接。

在此示例中,仅为这一规则创建了一个 InstantDiscount 对象以实现前向链接。

public class PreferredCustomerDiscountRule : Rule
{
    public override void Define()
    {
        Customer customer = null;
        IEnumerable<Order> orders = null;
        Double total = Double.NaN;

        When()
            .Match<Customer>(() => customer, c => c.IsPreferred)
            .Query(() => orders, x => x
                .Match<Order>(
                    o => o.Customer == customer,
                    o => o.IsOpen)
                .Collect())
            .Let(() => total, () => orders.Sum(x => x.Amount))
            .Having(() => total > 1000);

        Then()
            .Yield(_ => new InstantDiscount(customer, total * 0.05));
    }
}

public class PrintInstantDiscountRule : Rule
{
    public …
Run Code Online (Sandbox Code Playgroud)

nrules

1
推荐指数
1
解决办法
1786
查看次数