我正在通过带有剃须刀页面的Visual Studio建立一个网站。
我有一个用python 3.7编写的python脚本,我想从网站上调用它。我知道我可以从C#调用python脚本,但是是否可以在razor pages项目中嵌入python安装,以便可以直接从网站在应用程序中调用python脚本?
我已尝试环顾四周,但尚未找到解决方案,唯一的解决方案是IronPython,在我的情况下将无法使用。
答案 0 :(得分:0)
听起来您可能对这种解决方案的工作原理有基本的误解。您所要求的实际上不是标准做法,或者不建议也不可能。使用IronPython之类的库只会帮助您到此为止。
您需要对HTTP REST API之类的内容进行研究。然后,您的C#应用程序可以向您的Python应用程序发送HTTP请求,并返回结果。
流程可能如下所示:
用户向您的.NET应用发出HTTP请求-> .NET使用WebClient向Python应用发出HTTP请求-> Python运行任务并将结果返回给.NET-> .NET将结果返回给用户。
执行此操作的其他方法是使用消息传递协议(例如RPC)或类似于RabbitMQ或Apache Kafka的消息代理。后一种选择对于有很多请求来回的应用程序更好。
查看以下链接:
使用Python构建REST API:https://www.codementor.io/sagaragarwal94/building-a-basic-restful-api-in-python-58k02xsiq
在.NET Core中构建REST API:https://docs.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-2.2