You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js+Edge.js调用C#代码本地正常,Docker容器运行异常求助

Node.js容器内通过Edge.js调用C#代码报错问题

我是技术新手,本地环境下在Node.js应用中使用Edge.js调用内嵌C#代码完全正常,但使用以下Dockerfile和Docker Compose配置构建容器后,程序运行出现报错。尝试多种方法均未解决,不清楚是否可在容器内复用该代码,核心需求是实现容器内Node.js调用C#代码的功能。

本地运行核心代码

var formRoute = require("./routes/formRoute")
const session = require("express-session");
const express = require('express');
const bodyParser = require("body-parser");
var app = express();
app.set("view engine", "ejs")
app.use(bodyParser.urlencoded({extended: true}))
const Item = require('./class/Item')    //IMPORT ITEM LA CLASSE CHE USO PER SCRIVERE SU DB
const pool = require('./database')
var {getItem,getItems,addItem,getItem2,updateDiscount,loadScript,updateScript,checkIfPresent} = require('./dbDataManager') //IMPORT DI TUTTE LE FUNZIONI NECESSARIE
require("dotenv").config();
var scriptF = require('./ScriptDll/myScript')

var edge = require('edge-js')


var dllFunc = edge.func(
        {
                source: function (){/*
                using System;
                using System.Threading.Tasks;
                using System.Linq;
        
                public class Number
                {   
                public Number(int num)
                {
                        _Number = num;
                }
                public int _Number {get;set;}
                }
        
                public class Startup
                {
                        public async Task<object> Invoke(dynamic input)
                        {
                        return new Number(input.num);
                        }
                }
            */}
        }
)

app.get('/dllTest',(req,res)=> {
        var typeJson = {num:req.body.number}
        let updateType = dllFunc(typeJson,function (error,result){
                if (error)  throw error;
                console.log(result||error)
        })
        res.send(updateType)
})

Dockerfile配置

FROM node:22

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . /app

EXPOSE 3308

CMD ["node","index.js"]

Docker Compose配置

services:
      appnode:
        image: nodeimage
        build: 
          context: ./ScontiNodeApp
          dockerfile: Dockerfile
        container_name: nodeappcont
        ports:
          - "3308:3308"
        volumes:
          - /DockerSave:/app/DockerData

内容的提问来源于stack exchange,提问作者Diego Carde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 00:23:17