@pauline Подключить IronPython к веб-приложению на ASP.NET можно, если тебе нужно выполнять Python-скрипты в .NET-среде. IronPython — это реализация Python на платформе .NET, и она позволяет встраивать Python-код в .NET-приложения, включая ASP.NET.
Вот пошаговое руководство:
IronPython.dll, Microsoft.Scripting.dll и Microsoft.Dynamic.dll в проект ASP.NET:Через NuGet: IronPython.StdLib, IronPython, Microsoft.Scripting
1 2 |
Install-Package IronPython Install-Package IronPython.StdLib |
Допустим, у тебя есть веб-приложение на ASP.NET MVC или Web Forms, и ты хочешь выполнить Python-скрипт.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
using System;
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
public class PythonRunner
{
public string RunScript(string code)
{
ScriptEngine engine = Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
// Пример переменной
scope.SetVariable("name", "Мир");
var script = $"result = 'Привет, ' + name";
engine.Execute(script, scope);
dynamic result = scope.GetVariable("result");
return result;
}
}
|
А в контроллере:
1 2 3 4 5 6 7 |
public ActionResult RunPython()
{
var runner = new PythonRunner();
string output = runner.RunScript("print('Hello')");
ViewBag.Result = output;
return View();
}
|
📁 3. Исполнение внешнего Python-файла
1 2 |
string scriptPath = Server.MapPath("~/Scripts/myscript.py");
engine.ExecuteFile(scriptPath, scope);
|
Если ты планируешь запускать сторонний код — ограничь доступ, изолируй среду и не позволяй выполнять команды, которые могут повредить системе (например, os.system).