C# Azure WebJob访问被拒绝

C# Azure WebJob访问被拒绝,c#,node.js,azure,port,azure-webjobs,C#,Node.js,Azure,Port,Azure Webjobs,因此,我在创建本地服务时遇到问题,将我的应用程序作为WebJob。看起来我读了所有的谷歌,但我找不到解决方案。对我来说不算,因为它是关于身份验证的 因此,我的pc上有一个C#控制台应用程序,它有许多引用、DDL和大量计算,运行起来就像一个服务。Main函数,如下所示: static void Main(string[] args) { string baseAddress = "http://127.0.0.1:80"; Console.Write

因此,我在创建本地服务时遇到问题,将我的应用程序作为WebJob。看起来我读了所有的谷歌,但我找不到解决方案。对我来说不算,因为它是关于身份验证的

因此,我的pc上有一个C#控制台应用程序,它有许多引用、DDL和大量计算,运行起来就像一个服务。Main函数,如下所示:

    static void Main(string[] args)
    {
        string baseAddress = "http://127.0.0.1:80";
        Console.WriteLine(baseAddress);
        if (args.Count() > 0 && !string.IsNullOrEmpty(args[0]))
            baseAddress = args[0];
        SelfHostServer server = new SelfHostServer();            //using Microsoft.Owin;
        server.Start(baseAddress);
    }
然后我在Azure AppService上发布了一个nodeJs应用程序。基本上,我需要它调用C#service并得到结果的响应。出于这个原因,我正试图用我的C#应用程序创建一个WebJob。我发布它并尝试运行它,但我得到(此错误为flom azure portal console):


看起来端口有问题,但我找不到合适的端口。我可以运行其他exe,但不能运行与侦听者一起运行的exe。我不在乎外部是否无法访问C#app,我只想让这两个应用进行交流。有什么想法吗?或者其他解决方案(VM除外)

如以下文档所述每个应用程序都会看到一个“私有”环回连接;应用程序“A”无法侦听应用程序“B”建立的本地环回套接字。

由于不允许侦听端口,我建议您改为侦听队列存储。任何希望向您的WebJobs发送消息的应用都可以将消息插入队列存储。WebJobs SDK为您提供了一种简单的方法。以下代码仅供参考。如果消息已插入队列1,将触发以下方法

public static void ProcessQueueMessage([QueueTrigger("queue1")] string logMessage, TextWriter logger)
{
    logger.WriteLine(logMessage);
}

如果要将消息从WebJobs发送回节点应用程序,请同时侦听节点应用程序中的队列,并在队列中插入消息。

我现在已在计算机上本地获取此错误。然后以管理员身份运行VisualStudio解决了这个问题。idk,也许有办法以管理员的身份运行WebJob?过了很长时间,我回来解决这个问题。库努埃对我来说工作得很好。其他人做类似的事情还有一个选择(不需要端口侦听或quenue):1。重新生成exe以通过命令行2获取参数。使用所需参数从节点运行exe:2.1 var exec=require('child_process')。exec;2.2(exec('test.exe{parameters}',['/C'],函数(err,cmdOut,stderr){)
public static void ProcessQueueMessage([QueueTrigger("queue1")] string logMessage, TextWriter logger)
{
    logger.WriteLine(logMessage);
}