小编Jos*_*den的帖子

WebException无法为SSL/TLS安全通道建立信任关系

我的公司开发了一个.NET Web服务和一个使用该Web服务的客户端DLL.Web服务通过ssl托管在我们的服务器上,证书由GoDaddy提供并签名.我们在托管环境中有一些客户端在尝试访问我们的Web服务时从客户端DLL收到以下错误消息.

System.Net.WebException底层连接已关闭:无法为SSL/TLS安全通道建立信任关系.

我们的修复方法是让它们在服务器上打开IE,这对很多托管服务本身就是一个挑战,并转到WSDL网址.IE然后通过安全警报对话框提示他们.它表示证书日期有效且名称与页面名称相匹配,但由您未选择信任的公司发布.当他们单击是继续时,客户端DLL可以成功连接到Web服务并正常运行.

有谁知道为什么GoDaddy不会出现在有效的出版商名单中?我们运行的所有服务器都将GoDaddy作为有效权限.我猜测,出于安全原因,他们已经卸载了GoDaddy的权限,但并不完全相信没有其他潜在的问题.

不幸的是,我没有太多运气试图在本地重新创建.如果我进入Internet选项并删除GoDaddy权限并点击我们的服务,ssl工作正常.我回到发布者列表中,GoDaddy重新进入.所以我的第二个问题是,你如何摆脱GoDaddy所以我可以获得无效的证书警告?

好的,最后一个问题.代码中是否有一种方法可以告诉Web服务忽略无效的证书.我已经看到一些帖子以编程方式使用WCF而不是旧的Web服务.

c# asp.net ssl web-services webexception

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

.NET正则表达式替换单行匹配未知字符

这让我非常困惑.为什么我在以下代码中获得重复的替换字符串:

static void Main(string[] args)
{
    String input = "test";
    String pattern = ".*";
    String replacement = "replace";
    Console.WriteLine(Regex.Replace(input, pattern, replacement));
    Console.Read();
}
Run Code Online (Sandbox Code Playgroud)

这输出到控制台:

replacereplace
Run Code Online (Sandbox Code Playgroud)

我知道正则表达式会得到奇怪的匹配结束符,但应该没有.我也明白这个模式可以什么都不匹配,但很明显输入并不算什么.这发生在.Net 3.5和4.0中,我对SingleLine和MultiLine也有同样的看法.

我知道有几种选择可以做我期待的事情,但我更想知道其他什么比赛.*认为它的发现.

.net c# regex replace

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

通用指示符'和符号^在F#方法签名之间有什么区别

我理解用于表示通用参数的刻度,如:

Seq.append : seq<'T> -> seq<'T> -> seq<'T>
Run Code Online (Sandbox Code Playgroud)

但是插入符号表示什么,如:

Seq.average : seq<^T> -> ^T
Run Code Online (Sandbox Code Playgroud)

generics f# method-signature

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

如何在Windows上运行ubuntu容器?

我是Docker的新手,并通过入门文档https://docs.docker.com/docker-for-windows/#explore-the-application-and-run-examples.

当我运行'docker run -it ubuntu bash'时,我收到以下错误:

无法找到图像'ubuntu:latest'本地最新:从库/ ubuntu C:\ Program Files\Docker\Docker\Resources\bin\docker.exe:清单列表条目中的windows/amd64没有匹配的清单.请参阅'C:\ Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.

这是额外的泊坞信息:

码头版

Client:
 Version:      17.06.1-ce
 API version:  1.30
 Go version:   go1.8.3
 Git commit:   874a737
 Built:        Thu Aug 17 22:48:20 2017
 OS/Arch:      windows/amd64

Server:
 Version:      17.06.1-ce
 API version:  1.30 (minimum version 1.24)
 Go version:   go1.8.3
 Git commit:   874a737
 Built:        Thu Aug 17 23:03:03 2017
 OS/Arch:      windows/amd64
 Experimental: true
Run Code Online (Sandbox Code Playgroud)

码头工人信息

Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 1
Server Version: 17.06.1-ce
Storage Driver: …
Run Code Online (Sandbox Code Playgroud)

windows docker

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

ASP.NET Core 2 应用程序中的 UseOAuthBearerAuthentication 等效项是什么?

我正在升级一个资源服务器,该服务器接受来自我们的 oAuth 服务器的访问令牌。在 .NET 4.7 中,我的启动配置如下所示:

appBuilder.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
Run Code Online (Sandbox Code Playgroud)

当我添加 Nuget 包“Microsoft.Owin.Security.OAuth”时,我收到一条警告,指出该包与目标 .NETCoreApp 不兼容。有道理,但我不确定新包是什么。

我认为我需要的包是“Microsoft.AspNetCore.Authentication.OAuth”。这允许我添加到启动:

services
     .AddAuthentication(OAuthDefaults.DisplayName)
     .AddOAuth("Bearer", options => options.AuthorizationEndpoint = "uhhh" );
Run Code Online (Sandbox Code Playgroud)

Why would I be configuring an endpoint, I just want to look for an authorization token, not actually serve them up. This looks like the setup for an oAuth server, not a recipient. Also, the old 'OAuthBearerAuthenticationOptions' class allowed me to override things like 'AccessTokenFormat' but I'm not seeing that in the new options.

Lastly, I see …

oauth-2.0 asp.net-core-2.0

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

F#UnitTest项目中的AutoFixture不显示测试资源管理器中的单元测试

我安装了Visual Studio 2012项目并安装了以下NuGet包:

  • 使用Moq自动模拟AutoFixture
  • 使用xUnit.net数据理论自动混合
  • AutoFixture
  • 起订量
  • xUnit.net:扩展
  • xUnit.net:跑步者
  • xUnit.net

鉴于以下设计的Logger类(Logger.fs):

namespace FUnit

type public ILoggerContext =
    abstract member LogPath :string

type public LoggerContext (logPath :string) =
    member val LogPath = logPath with get, set

    interface ILoggerContext with
        member this.LogPath = this.LogPath

type public Logger () =
    member this.Log (context: ILoggerContext) value =
        System.String.Format("Logged {0} to {1}.", value, context.LogPath)
Run Code Online (Sandbox Code Playgroud)

以及单元测试:

namespace FUnit.Test

open FUnit

type public Math_Add() = 

    [<Xunit.Extensions.Theory>]
    [<Ploeh.AutoFixture.Xunit.AutoData>]
    member this.``Should Output Value And Path`` (path :string) =
        let …
Run Code Online (Sandbox Code Playgroud)

f# unit-testing xunit.net autofixture

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

F#核心方法的后缀数是多少?

我正在查看SeqModule中Append函数的源代码,并注意到有大量重复的方法,后缀为@xxx.有谁知道为什么这些在这里?

ILSpy截图

f# seq

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

有没有办法在线进行多值比较?

我甚至对这个问题感到愚蠢,因为它看起来很琐碎,但我的大脑让我失望了.如果我有以下内容:

let a, b, c = 1, 1, 1
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以确定a,b和c是否都保持相同的值.就像是:

let result = (a = b = c)
Run Code Online (Sandbox Code Playgroud)

这失败是因为表达式a = b返回true并且下一个表达式导致true = c并且抱怨它期望int,而不是bool.我唯一能想到的是:

a = b && a = c && b = c
Run Code Online (Sandbox Code Playgroud)

当我想添加更多变量时,它将无法工作.

我真正要做的就是:

let same (x: string * string * string) =
    match x with
    | (a, a, a) -> true
    | _ -> false
Run Code Online (Sandbox Code Playgroud)

我希望我可以将所有元素匹配到一个元素中,如果它们不同,它会继续前进,但它在匹配中的第二个元素上说它已经被绑定了.

comparison f#

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