小编ora*_*rad的帖子

可以简化此并行异步调用吗?

我认为这里的async/await关键字是多余的.

Parallel.Invoke(
    async () => await DoSomethingAsync(1).ConfigureAwait(false),
    async () => await DoSomethingAsync(2).ConfigureAwait(false)
);
Run Code Online (Sandbox Code Playgroud)

给定了许多任务返回方法,有没有更直接的方法来并行运行它们并在完成所有操作后返回?

c# task-parallel-library async-await

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

在混合 ES/TS 项目中使用 Vue 组件

我希望能够对 JavaScript 和 TypeScript 使用 Vue 文件,因此在<script>标记中何时lang未设置或设置为js使用 ES2015 以及何时<script lang="ts">使用 TypeScript。我有一个现有的 vue+ts 项目,现在我们决定要在用 ES6 编写的vue-paper-dashboard之上构建应用程序。我仍然想将我的组件保留在 TS 和.vue文件中<script lang="ts">。所以从空的仪表板项目开始,并用 TS/TSLint 替换了 Babel/ESLint。项目仍然可以正常加载:vue-paper-dashboard-typescript,但是,在.vue我设置的任何文件中,<script lang="ts">我都会收到如下错误:

Module build failed: Error: Could not find file: 'src/components/Dashboard/Views/Overview.vue'.
Run Code Online (Sandbox Code Playgroud)

我已经将--allowJs编译器选项设置为 true。我也试着从改变入口文件main.jsmain.ts,用来entryFileIsJs: true为TS-装载机,都无济于事。如何让 vue 单文件组件在混合 ES/TS 项目中工作?

谢谢!

typescript ecmascript-6 vue.js vue-component vuejs2

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

无法推送到Google Container Registry(访问被拒绝)

当我尝试将容器映像推送到Container Registry时,出现以下错误,

拒绝:项目“ my-proj-123”的令牌交换失败。呼叫者没有权限“ storage.buckets.create”。要配置权限,请按照以下说明进行操作:https : //cloud.google.com/container-registry/docs/access-control

我必须遵循“ 存储桶名称验证”过程才能创建artifacts.my-proj-123.appspot.com存储桶。现在,当我尝试推送docker映像时,它不会抱怨storage.buckets.create权限,而只会给出:

拒绝:访问被拒绝。

我不知道需要授予哪个用户访问权限。我没有授予存储管理员访问Compute Engine默认服务帐户的权限。我该如何解决?

google-cloud-storage google-cloud-platform google-container-registry

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

IdentityServer进入无限的身份验证循环

我在IdentityServer中设置了以下客户端:

new Client
{
    ClientName = "My web application",
    Enabled = true,
    ClientId = "mywebapp",
    ClientSecrets = new List<ClientSecret>
    {
        new ClientSecret("somesecret")
    },

    Flow = Flows.Hybrid,

    ClientUri = "https://app.mydomain.com",

    RedirectUris = new List<string>
    {
        "oob://localhost/wpfclient",
        "http://localhost:2672/",
        "https://app.mydomain.com"
    }
}
Run Code Online (Sandbox Code Playgroud)

我们说它是在线托管的https://auth.mydomain.com/core.

尝试修改MVC OWIN客户端(混合)示例客户端以登录到上述身份服务器,在Startup.cs我修改了ClientId,ClientSecretRedirectUri匹配IdSrv中的客户端设置.现在,当我尝试导航到需要授权的页面时,我被重定向到IdentityServer的URL.当我登录时,断点AuthorizationCodeReceived在客户端的通知中命中,Startup.cs然后进入循环.浏览器的状态显示:

Waiting for localhost...
Waitnig for auth.mydomain.com...
Waiting for localhost...
Waitnig for auth.mydomain.com...
...
Run Code Online (Sandbox Code Playgroud)

等等,永远不会完成登录.为什么会这样?请帮忙.

谢谢!

thinktecture-ident-server openid-connect identityserver3

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

如何在LinqPad中转储最新列表?

因此,以下代码将每秒转储整个列表.

var list = new List<object>();

for (int i = 0; i < 100; i++)
{
    list.Add(new { A = i.ToString(), B = new Random().Next() });
    list.Dump(); // How to DumpLatest()?
    Thread.Sleep(1000);
}
Run Code Online (Sandbox Code Playgroud)

但是,如何在不添加新转储输出的情况下更新转储输出呢?

这里有一个相关的问答,但它对我不起作用.

linqpad task-parallel-library concurrent-collections system.reactive

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

在 TypeScript 中扩展 Date.prototype

请帮助我理解为什么这适用于 Number 而不适用于 Date。

declare interface Number {
    toPreferredStringFormat(): string;
}

declare interface Date {
    toPreferredStringFormat: string;
}

(function () {
    // OK
    Number.prototype.toPreferredStringFormat = () => {
        return this.toString() + " preferred!";
    };

    // ERROR (why?!)
    Date.prototype.toPreferredStringFormat = () => {
        return this.toString() + " preferred!";
    };
})();
Run Code Online (Sandbox Code Playgroud)

我做得对吗?

谢谢!

typescript

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

我并不是说这就是我的意思

打字稿中的以下代码段不符合我的意思.它应该是不言自明的:

declare interface Date {
    toUrlString(): string;
}

Date.prototype.toUrlString = () => {
    return this.toISOString().substring(0, 10);
};

document.write(
    new Date().toUrlString()
    // Error: Object [object Window] has no method 'toISOString'
);
Run Code Online (Sandbox Code Playgroud)

编译代码是:

var _this = this;
Date.prototype.toUrlString = function () {
    return _this.toISOString().substring(0, 10);
};
document.write(new Date().toUrlString());
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

typescript

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

如何在 VS Code 中启用最新的 TypeScript 语言服务?

Visual Studio Code 运行其附带的任何 TypeScript 版本(当前为 v1.5)。如果我使用一些实验性编译器功能(例如 AsyncFunctions),那么它会抱怨。SO 上的其他一些答案如何使 VS Code 使用不同版本的 TS 构建项目,但我找不到如何使语言服务实际使用较新版本的答案。

typescript visual-studio-code

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

如何检查Internet Explorer COM对象的版本号

在PowerShell我有:

$ie = New-Object -COM InternetExplorer.Application
Run Code Online (Sandbox Code Playgroud)

如何获得版本号$ie?我想验证我们是否正在使用IE11或更高版本的实例,或者提示用户升级其Internet Explorer.

谢谢!

答:基于已接受的答案,这就是我使用的:

$ieVersion = New-Object -TypeName System.Version -ArgumentList (
    Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Internet Explorer').Version
$ieVersion = New-Object -TypeName System.Version -ArgumentList (
    # switch major and minor
    $ieVersion.Minor, $ieVersion.Major, $ieVersion.Build, $ieVersion.Revision)
if ($ieVersion.Major -lt 11)
{
    Write-Error "Internet Explorer 11 or later required. Current IE version is $ieVersion"
    exit
}
Run Code Online (Sandbox Code Playgroud)

com powershell internet-explorer wsh internet-explorer-11

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

我们能不能简化这种单行程?

我想知道我是否可以使用C#更像JavaScript来快捷代码.我尝试用更少的行来制作以下代码:

public async Task<bool> EnsureAuthenticated()
{
    if (!IsAuthenticated)
    {
        if (!(await Authenticate()).IsSuccess)
        {
            throw new AuthenticationException();
        };
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

哪个成了:

public async Task<bool> EnsureAuthenticated()
{
    Func<bool> throwException = () => { throw new AuthenticationException(); };
    return IsAuthenticated || (await Authenticate()).IsSuccess || throwException();
}
Run Code Online (Sandbox Code Playgroud)

我最接近单线的是:

public async Task<bool> EnsureAuthenticated()
{
    return IsAuthenticated || (await Authenticate()).IsSuccess ||
    ((Func<bool>)(() => { throw new AuthenticationException(); }))();
}
Run Code Online (Sandbox Code Playgroud)

与JavaScript中的等效代码相比,它仍然是太多代码(如果考虑async/await,则为EcmaScript 2017).但我的问题主要是关于lambda部分((Func<bool>)(() => { throw new AuthenticationException(); }))().

在C#或C#vNext中没有更简洁的方法吗?

.net javascript c# lambda roslyn

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