中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

在.NET中嵌入IronPython 交互

  隨著IronPyhon 2.0 的發(fā)布,.NET Dynamic Language Runtime 也更加成熟了,在2.0中我們可以用動態(tài)腳本以粘合劑的方式編寫架構(gòu)體系中的各種邏輯單元,既便于修改,又能靈活適合多變的業(yè)務(wù)場景。當然,我的目標是在 Platform Framework 中能嵌入腳本引擎,而不是用 ipy.exe 去執(zhí)行一個“獨立”的任務(wù)。要讓.NET 項目能真正跟腳本進行交互,還得需要提供腳本引擎的實現(xiàn)。這得提到DLR一些基本概念了。

  下圖摘自 DLR 幫助文件,通過它我們基本可以了解基于 DLR 的組成方式。

 

      下圖描述了 DLR 的基本執(zhí)行流程。

 

  ScriptRuntime:創(chuàng)建 DLR 運行環(huán)境,這是整個執(zhí)行過程的起始點,它表示一個全局的執(zhí)行狀態(tài)(比如程序集引用等等)。每個應(yīng)用程序域(AppDomain)中可以啟動多個 ScriptRuntime。

  ScriptScope:構(gòu)建一個執(zhí)行上下文,其中保存了環(huán)境及全局變量。宿主(Host)可以通過創(chuàng)建不同的 ScriptScope 來提供多個數(shù)據(jù)隔離的執(zhí)行上下文。

  ScriptEngine: DLR 動態(tài)語言(比如 IronPython)執(zhí)行類,可于解析和執(zhí)行動態(tài)語言代碼。

  ScriptSource:操控動態(tài)語言代碼的類型,我們可以編譯(Compile)、讀取(Read Code Lines)或運行(Execute)代碼。

  CompiledCode:調(diào)用 ScriptSource.Compile()將源代碼編譯成 CompiledCode,這樣多次執(zhí)行就無需重復(fù)編譯,從而提高執(zhí)行性能。

  ObjectOperations:提供了相關(guān)方法,允許我們在宿主(Host)中操作 DLR 對象成員(Member)。

  現(xiàn)在我們來構(gòu)建腳本引擎

  當然我們必須加入IronPyhton提供的相關(guān)引用并導(dǎo)入命名空間

  using IronPython.Hosting;

  using IronPython.Compiler;

  using IronPython.Runtime;

  using Microsoft.Scripting;

  using System.Runtime.Remoting;

  1、Hello World

  以下為引用的內(nèi)容:

      var py = @"def test():
  return ‘hello world~!’;
  print test();
"var engine = Python.CreateEngine();
  var code
= engine.CreateScriptSourceFromString(py, SourceCodeKind.Statements);
  code.Execute();

NET技術(shù)在.NET中嵌入IronPython 交互,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美日韩久久久 | 国产美女久久 | 久久久夜色精品亚洲 | 国产91精品在线 | 日韩在线资源 | 欧美激情 一区 | 激情视频一区 | 在线视频国产一区 | 亚洲一区二区视频在线播放 | 亚洲嫩草 | 日韩伦理一区二区 | 黄色大片免费网站 | 五月天婷婷久久 | 色婷婷综合成人av | 黑人一级黄色大片 | 国产在线精品一区二区 | 天堂网中文字幕在线观看 | 日韩av电影在线观看 | 久久久久久久综合 | 91中文| a级黄色片视频 | 一区二区三区中文字幕 | 精品国产精品国产偷麻豆 | 久久天堂网 | 久草影视在线 | 国产视频h | 美女视频黄的免费 | 久久精品免费一区二区三 | 黄色在线观看网址 | 黄片毛片| 成人网av | 精品视频在线观看 | 亚洲欧美日韩电影 | 国产色婷婷精品综合在线手机播放 | 黄色国产视频 | 国产成人久久av免费高清密臂 | 精品视频国产 | 国产精品久久 | 日韩中文欧美 | 久久精品99国产精品 | 国产福利视频 |