【问题标题】:Shutting down Flask application from C#?从 C# 关闭 Flask 应用程序?
【发布时间】:2021-11-05 00:27:32
【问题描述】:

我正在中继来自 C# 应用程序的 HTTP 请求,方法是将 JSON 数据发送到 localhost 烧瓶应用程序,使用 python 发送请求,并将响应中继回我的 C# 应用程序。需要这样做,因为我正在处理的服务器是第 3 方并且指纹 SCHANNEL 请求并发送回虚拟数据(对 Powershell 也是如此,但不是 curl、Postman 或 Python)。

var process = new Process();
process.StartInfo = new ProcessStartInfo()
{
    FileName = "cmd.exe",
    Arguments = @" /k python Assets\Scripts\server.py",
    UseShellExecute = true
};
process.Start();

我找到了这个解决方案,它使用了一个端点 (/shutdown)

def shutdown_server():
    func = request.environ.get('werkzeug.server.shutdown')
    if func is None:
        raise RuntimeError('Not running with the Werkzeug Server')
    func()

收到一条警告说它已被弃用。我可以忍受,但我的强迫症让我想要正确地做到这一点。警告告诉我这是一个 hacky 解决方案。

我是 python/flask 的新手。有什么好的方法可以解决这个问题?

旁注:process.Kill() 不起作用。希望是这样。

【问题讨论】:

    标签: python c# flask


    【解决方案1】:

    process.CloseMainWindow() 似乎在我最初的测试中起到了作用。为什么 process.Close() 或 process.Kill() 不起作用,我无法理解。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-09
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多