小编Daz*_*kin的帖子

降级EF 5.0.0.0 - > 4.3.1.0后无法加载文件或程序集"EntityFramework"

在急忙升级到EF 5.0.0.0 RC并且无法部署到Windows Azure(.NET 4.0及更低版本)的.NET 4.5项目之后,我决定降级到EF 4.3.1.0.

我不确定执行此类迁移的最佳方法,但我的策略是使用"管理NuGet包"识别哪些项目引用包,取消选中每个项目的包,安装替换并重新检查正确的项目.

不幸的是,在这样做之后,我的解决方案产生了名为"FileLoadException"的名称.

Could not load file or assembly 'EntityFramework, Version=5.0.0.0, Culture=neutral,        
PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's 
manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)

我搜索了解决方案文件,特别是packages.config,以获取对EF 5.0.0.0 RC的引用但却找不到.

entity-framework

33
推荐指数
3
解决办法
11万
查看次数

使用MVC 4 RC为Web API实现ValidatingAntiForgeryToken属性的问题

我正在制作基于JSON的AJAX请求,并且MVC控制器非常感谢Phil Haack 使用AJAX预防CSRF,以及Johan Driessen 为MVC 4 RC更新了Anti-XSRF.但是,当我将以API为中心的控制器转换为Web API时,我遇到的问题是两种方法之间的功能明显不同,而且我无法转换CSRF代码.

最近ScottS提出了一个类似的问题,Darin Dimitrov 回答了这个问题.Darin的解决方案涉及实现一个调用AntiForgery.Validate的授权过滤器.不幸的是,这段代码对我不起作用(见下一段)而且 - 老实说 - 对我来说太先进了.

据我了解,Phil的解决方案在没有表单元素的情况下制作JSON请求时克服了MVC AntiForgery的问题; 表单元素由AntiForgery.Validate方法假定/预期.我相信这也许就是为什么我也遇到了达林解决方案的问题.我收到一个HttpAntiForgeryException"所需的防伪表单字段'__RequestVerificationToken'不存在".我确定令牌正在被POST(尽管在Phil Haack的解决方案的标题中).这是客户电话的快照:

$token = $('input[name=""__RequestVerificationToken""]').val();
$.ajax({
    url:/api/states",
    type: "POST",
    dataType: "json",
    contentType: "application/json: charset=utf-8",
    headers: { __RequestVerificationToken: $token }
}).done(function (json) {
    ...
});
Run Code Online (Sandbox Code Playgroud)

我尝试通过将Johan的解决方案与Darin's混合在一起来进行攻击,并且能够使事情正常工作但是我正在介绍HttpContext.Current,不确定这是否合适/安全以及为什么我不能使用提供的HttpActionContext.

这是我不雅的混搭......改变是try块中的2行:

public Task<HttpResponseMessage> ExecuteAuthorizationFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task<HttpResponseMessage>> continuation)
{
    try
    {
        var cookie = HttpContext.Current.Request.Cookies[AntiForgeryConfig.CookieName];
        AntiForgery.Validate(cookie != null ? cookie.Value : null, HttpContext.Current.Request.Headers["__RequestVerificationToken"]);
    }
    catch
    {
        actionContext.Response = …
Run Code Online (Sandbox Code Playgroud)

antiforgerytoken asp.net-mvc-4 asp.net-web-api

19
推荐指数
2
解决办法
2万
查看次数

如何使用golang ssh加密的私钥

我很感激指针,因为我无法解决如何解密加密密钥以便与golang ssh一起使用它.我正在尝试将两个其他代码源(包括这个代码)混合在一起但无法使其工作.

我想我正在使用DER,但需要将其编组回PEM以便将其与crypto/ssh一起使用

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,D7C72273BE168626E5B2D1BC72E56326
...
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

我读了它:

key, err := ioutil.ReadFile(privateKey)
if err != nil {
    log.Fatalf("Unable to read private key: %v", err)
}
Run Code Online (Sandbox Code Playgroud)

使用未加密的(!)键,我可以:

signer, err := ssh.ParsePrivateKey(key)
if err != nil {
    log.Fatalf("Unable to parse private key: %v", err)
}

config := &ssh.ClientConfig{
    User: username,
    Auth: []ssh.AuthMethod{
        ssh.PublicKeys(signer),
    },
}
Run Code Online (Sandbox Code Playgroud)

这会奏效.

我重用了一些代码,我认为解密后的PEM作为DER:

func decrypt(key []byte, password []byte) []byte {
    block, rest := pem.Decode(key)
    if len(rest) > …
Run Code Online (Sandbox Code Playgroud)

ssh go x509

13
推荐指数
3
解决办法
6006
查看次数

Digital Ocean 无法访问控制台

我无法在数字海洋中访问我的 Droplet 控制台,它发出一条通知“启用新的 Droplet 控制台,以便从浏览器对您的 Droplet 进行类似本机的终端访问。” 要启用 Droplet 控制台,请以 root 或具有 sudo 访问权限的用户身份登录 Droplet。连接后,使用以下命令下载并执行代理安装脚本以立即启用控制台:

wget -qO- https://repos-droplet.digitalocean.com/install.sh | sudo bash
Run Code Online (Sandbox Code Playgroud)

但我无法访问其控制台,所以我不知道在哪里可以发出此命令,putty 也没有给出任何响应。通知截图

console digital-ocean droplet

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

调试Office的JavaScript API

很明显,我已被Chrome及其开发人员工具宠坏了,但我正在努力制定一个无痛的调试策略,同时使用新的JavaScript API for Office开发Office 2013应用程序.

Visual Studio 2012通过提供脚本调试和即时窗口来帮助我,但我发现以下内容是一个挑战,并希望指点/指导:

  1. 重新加载Office应用程序(右键单击"重新加载")会中断Visual Studio脚本调试,因此通常更容易结束调试并重新启动.它为什么会破裂?我可以阻止它破裂吗?

  2. 有没有可与Chrome的"检查元素"和所有相关DOM探索功能相媲美的东西?我正在使用客户端模板(KnockoutJS),并且正在尝试使用即时窗口来尝试内省DOM.

  3. 我的代码进行了AJAX调用,但由于缺少内联调试语句,我找不到像Chrome网络选项卡那样跟踪调用的方法.

我学到/发现的三件可能对他人有益的事情是:

  1. 调试器暂停(中断)时不要"停止调试",因为这会导致Visual Studio挂起,唯一的方法就是杀死它并重新启动,这很乏味.如果继续执行代码直到(希望)终止,那么您可以毫无问题地停止调试器.

  2. Microsoft的示例代码将调试信息添加到应用程序的HTML页面上的元素.我发现这个次优,只需在我的应用程序中创建一个"调试"表,每次我想报告一些内容时都会添加一行.这具有跨调试会话持久化的额外优势.我为表包装器和扩展表包装器的错误处理程序发布了gists .

  3. Visual Studio 2012中的"Quick Watch"对于评估jQuery表达式和分析JSON结果非常有用.

javascript office-2013

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

如何从bash调用参数化的Jsonnet?

我无法理解如何最好地参数化Jsonnet文件,以便我可以从bash和另一个Jsonnet文件调用相同的文件.

假设我有一个名为template.jsonnet的简单模板:

{
  // Required arguments
  name:: error "'name' must be specified",
  port:: error "'port' must be specified",

  ...,
}
Run Code Online (Sandbox Code Playgroud)

我可以很容易地将它合并到另一个Jsonnet文件中,并提供其所需的参数值:

{
  local template = = import "./template.jsonnet";

  template + {
    name:: "service",
    port:: 8080,
}
Run Code Online (Sandbox Code Playgroud)

我正在努力确定我可以template.jsonnet从bash 调用以获得相同结果的预期方式.

我可以使用,--ext-str但似乎需要std.extVar(x)

GitHub 问题表明它--tla-code可能是std.extVar()的替代品,但我不明白如何根据我的需要使用它.

后续问题是:如何对参数这是一个数组:

{
  local template = = import "./template.jsonnet";

  template + {
    name:: "service",
    port:: [8080,8081,8082],
}
Run Code Online (Sandbox Code Playgroud)

jsonnet

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

如何使用 HTTP API v2 获取清单?

如何使用 V2 API 进行身份验证很有用且有效。

REPO="https://hub.docker.com/v2"
Run Code Online (Sandbox Code Playgroud)

我能够获得令牌,列出(我的)存储库并列出他们的图像和标签。

curl --silent \
--header "Authorization: JWT ${TOKEN}" \
${REPO}/repositories/${USERNAME}/

curl --silent \
--header "Authorization: JWT ${TOKEN}" \
${REPO}/repositories/${USERNAME}/${IMAGE}/tags/
Run Code Online (Sandbox Code Playgroud)

我想“获取清单”,但我正在努力让它发挥作用: https://docs.docker.com/registry/spec/api/#manifest

curl --silent \
--header "Host: hub.docker.com" \
--header "Authorization: JWT ${TOKEN}" \
${REPO}/repositories/${USERNAME}/${IMAGE}/manifests/

curl --silent \
--header "Host: hub.docker.com" \
--header "Authorization: JWT ${TOKEN}" \
${REPO}/${USERNAME}/${IMAGE}/manifests/

curl --silent \
--header "Host: hub.docker.com" \
--header "Authorization: JWT ${TOKEN}" \
${REPO}/${USERNAME}/${IMAGE}/manifests/${TAG}
Run Code Online (Sandbox Code Playgroud)

我试过没有Host标题。具有不同的Host标头值。但是,我显然错过了一些东西。我尝试对工作端点进行模式匹配,但没有任何乐趣:

curl --silent \
--header "Authorization: JWT ${TOKEN}" \ …
Run Code Online (Sandbox Code Playgroud)

docker-registry

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

How to generate the ECDSA public key from its private key?

The following site is frequently referenced and, I assume, accurate:

https://gobittest.appspot.com/Address

I'm trying to repro these steps in Golang but failing at the first step :-(

Is someone able to provide me with a Golang snippet that, given a ECDSA private key, returns the public key? I think I may specifically mean the private key exponent and public key exponent per the above site's examples.

i.e. given e.g. a randomly-generated (hex-encoded) private key (exponent?) E83385AF76B2B1997326B567461FB73DD9C27EAB9E1E86D26779F4650C5F2B75 returns the public key 04369D83469A66920F31E4CF3BD92CB0BC20C6E88CE010DFA43E5F08BC49D11DA87970D4703B3ADBC9A140B4AD03A0797A6DE2D377C80C369FE76A0F45A7A39D3F …

go ecdsa

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

--go-grpc_out: protoc-gen-go-grpc: 插件失败,状态代码 1

当我编译我的原型文件时,我收到此错误:

protoc-gen-go-grpc: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable
\--go-grpc_out: protoc-gen-go-grpc: Plugin failed with status code 1.
Run Code Online (Sandbox Code Playgroud)

我正在使用这些版本:

二进制 版本
原型-gen-go v1.25.0-开发
协议 v3.12.4

我尝试编译这个原型文件:

protoc-gen-go-grpc: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable
\--go-grpc_out: protoc-gen-go-grpc: Plugin failed with status code 1.
Run Code Online (Sandbox Code Playgroud)

我使用了这个命令: …

go proto grpc protoc

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

使用 Go Modules 时生成 in-repo protos 的最佳实践

tl;dr以前配置为使用的 repoGOPATH现在配置为模块。一切都很好,而且越来越好。但是,protoc 正确(!)为github.com/path/to/repo/protos结构中的 repo 中定义的 protobuf 生成 Golang 代码,而我现在更喜欢在GOPATH. 我正在推动他们解决这个问题。有更好的解决方案吗?


我有一个 GitHub 仓库。为了讨论起见,我们称之为github.com/acme/toolbox。在一个子目录中,我有 protobuf 文件,其中包括:

package acme.toolbox.v1;
option go_package = "github.com/acme/toolbox/protos";
Run Code Online (Sandbox Code Playgroud)

当我在GOPATHing 时,一切都很好,并且protoc会在其中生成 Golang 绑定,$GOPATH/src/github.com/acme/toolbox/protos并且我的代码 importingpb "github.com/acme/toolbox/protos"可以工作。

迁移到Go Modules并非一帆风顺,但收益大于成本,我正在为自己和代码做未来证明。

我的问题是我不知道如何protoc将 Golang 绑定生成到我的任意GOPATH位置克隆之外。

我在生成文件后移动文件,但这感觉......不优雅:

package acme.toolbox.v1;
option go_package = "github.com/acme/toolbox/protos";
Run Code Online (Sandbox Code Playgroud)

有更好的解决方案吗?

go grpc go-modules

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