小编Ber*_*ian的帖子

无法在 Blazor 中收到承诺

我正在通过 js 互操作向服务器发出POST请求Blazor。发布请求到达服务器,进行计算,然后发回。处理程序js调用resolvePromise,但数据不会返回到Blazor

JS 互操作

window.methods={
    submit: function () {
            return new Promise((resolve, reject) => {
                var form = document.getElementById("newTestForm");
                var data = new FormData(form);
                var xhr = new XMLHttpRequest();


                var method = form.getAttribute('method');
                var action = form.getAttribute('action');
                xhr.open(method, action);
                xhr.onload = function () {
                    if (xhr.status == 200) {
                        resolve(xhr.response); //data gets here in correct format !!!!!!!
                    }
                    else if (xhr.status != 200) {
                        reject("Failed to submit form with …
Run Code Online (Sandbox Code Playgroud)

interop promise blazor

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

如何使用 Haskell 的 C 库?

我尝试使用 FFI 从 Haskell 调用 C 函数,但不断收到此错误:

ghc.exe:^^ 无法加载“getSize”,依赖性未解决。请参阅上面的顶部条目。

main: ByteCodeLink: can't find label 在交互式链接期间,GHCi 找不到以下符号:getSize 这可能是由于您没有要求 GHCi 加载当前会话所需的额外对象文件、存档或 DLL。重新启动 GHCi,使用 -L/path/to/object/dir 和 -lmissinglibname 标志指定缺少的库,或者只需在 GHCi 命令行上命名相关文件即可。或者,此链接失败可能表明 GHCi 中存在错误。如果您怀疑后者,请将错误报告发送至:
glasgow-haskell-bugs@haskell.org

我正在stdio.h我的 C 库中使用该库:

C库

// lib.h
#include <stdio.h>

double getSize() {
    double size = 0;
    scanf("$f", &size);
    return size;
}
Run Code Online (Sandbox Code Playgroud)

FFI模块

{-# LANGUAGE ForeignFunctionInterface #-}
module Ffi where

import Foreign
import Foreign.C.Types

foreign import ccall "lib.h getSize" c_size :: IO Double
Run Code Online (Sandbox Code Playgroud)

主要的

module Main where
import Ffi

main …
Run Code Online (Sandbox Code Playgroud)

c interop haskell ffi

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

无法安装 GHC-Mod

大家好,我正在尝试为 vscode 安装 ghc-mod,但我遇到了这个问题:

**$ stack install ghc-mod**
Populated index cache.

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for ghc-mod-5.8.0.0:
    Cabal-2.0.1.1 from stack configuration does not match >=1.18 && <1.25 (latest matching version
                  is 1.24.2.0)
    base-4.10.1.0 from stack configuration does not match >=4.6.0.1 && <4.10  (latest matching
                  version is 4.9.1.0)
    mcabal-helper must match <0.8 && >=0.7.3.0, but the stack configuration has no specified version
                 (latest matching version is 0.7.3.0)
    extra-1.6.8 from stack configuration …
Run Code Online (Sandbox Code Playgroud)

haskell ghc-mod haskell-stack

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

控制台应用程序在生成时不会生成可执行文件

您好,我无法从我的项目(.NET Core 2.1控制台应用程序)生成可执行文件。我已经检查了输出文件,输出类型为控制台应用程序。它构建成功(程序可以正常运行),但是没有可执行文件。

我曾与调试和释放的尝试都和我已经调查bin\obj\文件夹为可执行文件却是没有。
这是我的Bin的样子:

在此处输入图片说明

我调查了一下Properties->Application,一切都设置好了,但仍然没有可执行文件。

.net executable build

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

如何在ADT或记录语法上使用Monadic绑定运算符

您好,有人可以解释一下如何在代数数据类型或记录语法的字段上使用monadic绑定运算符?

例如

data M = M {myfield :: Int}
data N = N Int
Run Code Online (Sandbox Code Playgroud)

因此,M如果我想从一个IO Int动作中提取值到myfield 它似乎我不能说:

a = M { return 3 >>= value }
Run Code Online (Sandbox Code Playgroud)

另外我怎么能绑定一个N类型?

monads haskell

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

在 Redis 容器上使用 Redis-CLI

您好,我正在尝试向Redisdocker 容器发出命令。容器已启动并正在运行。我使用了以下命令: docker run -d -p 8300:85 -t redis

在此处输入图片说明

但是,当我尝试从我的终端使用时: redis-cli -p 8300没有任何反应。
它只是看起来在等待什么。

在此处输入图片说明

我如何与我的 redis 容器通信;我究竟做错了什么?

PS在我将 redis 端口设置为默认值后,6379我在使用时得到一个 id 作为响应,docker run但它仍然停在那里(第一张图片):

在此处输入图片说明

从另一个终端(第二张图片)您可以看到,当第一个终端被阻止时,该实例已创建但未启动。

PS 2等了 10 分钟后,我终于在运行 redis 容器时收到一条错误消息:

$ docker run -d -p 8300:6379 -t redis
244d898dcfb0cd1da4828ee99a16bdd12f62499f99e8dc3ee17af9bacefe5b41
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error response from daemon: failed to create endpoint upbeat_blackwell on network nat: HNS failed with error : You were not connected because a duplicate name exists on the network. If …
Run Code Online (Sandbox Code Playgroud)

redis docker redis-cli

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

Haskell隐式转换

您好我正在寻找使用Data.Text.intercalate和从Hackage我不明白为什么如果该方法具有以下签名:

intercalate :: Text -> [Text] -> Text

为什么呢,这有用吗?

T.intercalate "NI!" ["We", "seek", "the", "Holy", "Grail"]
"WeNI!seekNI!theNI!HolyNI!Grail" 
Run Code Online (Sandbox Code Playgroud)

你不应该Data.Text.pack在列表的每个元素之前应用它吗?
来源:http://hackage.haskell.org/package/text-1.2.3.1/docs/Data-Text.html

在我的情况下,我想打包以下内容:

输入:"{",mytext,"}" #mytext::Text
我与做:
Prelude.intercalate (Data.Text.pack ",") [pack "{",mytext, pack "}"]还是

(pack "{") ++ mytext++ pack "}")
有人可以解释我为什么不Data.Text露出相同的方法Data.List(在我们的例子intercalate),它是如何使之间的隐式转换CharText

haskell type-conversion

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

无法查看ASP NET Core容器的日志

您好我有以下问题:

我有一个ASP .NET Core服务器是码头工人,美化版,运行在一个容器中docker-compose通过。我将请求发送到我的服务器postman和我得到500-internal server error

我试过了:

  • docker attach myserver 而且我在控制台中什么也没得到。
  • docker logs myserver 我只会得到初始日志(启动)。
  • telnet hostname port 它似乎可以连接,但我不知道如何创建请求。

我怎样才能让我的手在console我的ASP .NET Core服务器?

码头工人组成

version: '3.3'
services:
    db:
      image: redis:4.0.5-alpine
      container_name: redis0

      networks: 
        - redis-net
      ports:
        - 6381:6379

    backend:
      image: server
      container_name: server0
      build: ./Server
      command: ["dotnet","Server.dll"]
      depends_on:
        - db
      ports:
        - 9400:9300
      networks:
        - redis-net

networks:
    redis-net:
Run Code Online (Sandbox Code Playgroud)

dockerfile(用于服务器)

FROM microsoft/dotnet:2.1-aspnetcore-runtime 
WORKDIR /app
COPY ./publish /app
EXPOSE 9300 …
Run Code Online (Sandbox Code Playgroud)

logging docker asp.net-core

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

响应来自父组件的子事件事件

我有2个分量AB,B是一个孩子A.是有什么样的EventEmitter(Angular)的Blazor?如何在父级中附加可以响应其子项输出的事件处理程序?

儿童

<button onclick="Emit">Press me</button>
@functions(){
[Parameter] // i do not know how the `Output` is called
private string Pressed {get;set;}
public void Emit()
{
  //somehow emit `Pressed` to the parent , make him respond
}
}
Run Code Online (Sandbox Code Playgroud)

父组件

<Child [Pressed]="doSomething"> </Child>
@functions{
 doSomething(string value){
  Console.WriteLine("Child sent me : "+value);
 }
}
Run Code Online (Sandbox Code Playgroud)

PS对不起语法错误,我对blazor很新.

c# eventemitter blazor

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

如何从 Blazor 调用 JS 异步方法

我正在尝试使用JSInterop提供的读取一些文件Blazor。问题是,即使在.C#我等待该方法,似乎它也没有。因此await我无法检索 提供的结果js

C#

<input name="start" type="file" onchange="@(async(x)=>await OnChangeS(x))" />

@functions{
    private const string S = "start";

    public async Task OnChangeS(UIChangeEventArgs ev) {
        var str =  await JSRuntime.Current.InvokeAsync<string>("methods.readFile", S);
        Console.WriteLine("From blazor data is:" + (string.IsNullOrEmpty(str) ? "empty" : str));
    }
}
Run Code Online (Sandbox Code Playgroud)

JS

  window.methods = {

    readFile: function (fileName) {

        let reader = new FileReader();
        var file = document.querySelector('input[type=file ][name=' + fileName + ']').files[0];
        var data = null;
        reader.onload = () => …
Run Code Online (Sandbox Code Playgroud)

interop filereader blazor

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