簡體   English   中英

VB.NET應用程序中的腳本自動化

[英]Scripting Automation within VB.NET application

我工作的軟件公司為之前使用過其他類似軟件的新客戶提供數據轉換服務。 我編寫了一個VB.NET應用程序來自動執行常見的轉換操作,並在已知供應商之間使用單獨的邏輯。 特定的文件布局已變得相當普遍,但由於此特定競爭對手的應用程序如何存儲信息的性質,某些字段對於一個客戶端來說意味着一件事,而對於另一個客戶端則意味着另一件事件。

此供應商格式中的某些元素每次都會更改,因此我已編寫應用程序來解釋此問題。 由於某些數據字段對不同的供應商意味着不同的東西,我每次都必須更改我的映射代碼。 當我每六個月左右使用其中一個時,這不是問題,但這些變得越來越普遍,我寧願找到一種方法來進一步自動化這個過程。

我正在考慮實現一種簡單的解釋腳本語言,它允許我在文本文件中保存客戶端的轉換設置,所以每次運行時我都不必將設置提供給我的應用程序。 我的目標是從長遠來看,在更快的轉換中花費時間來實現這種回報。

這是我頭腦中的例子:

# this is a comment
RECORD INCLUDE(source[Class] != 'I' && source[Category] != 99);

FIELDMAP
  destination[name] == source[name];
  desintation[address] == source[mailingaddress1];
  ...
END FIELDMAP

BEGIN
  # logic goes here
END

我不想讓它變得比它需要的更復雜。 我承認我從來沒有考慮過編寫腳本,而且對於從哪里開始或者需要做出哪些其他考慮因素都是無能為力的。

是否已經有.NET的腳本庫可以完成我想要的大部分工作? 編寫錯誤的腳本是為了解決這個問題嗎? 如果有更好的方法,我真的不想重新發明輪子。

感謝您的任何幫助。 :)

IronPython (Jake提到的DLR語言之一)是Python腳本語言的.NET實現。 它允許您訪問.NET代碼(包括您編寫的框架類和類),並且是這類任務的絕佳選擇。

它沒有任何真正的依賴(除了.NET Framework),你不需要學習太多了解Python特定的語法來完成工作。

(如果您決定使用IronPython,我建議您使用Notepad ++作為編輯器。)

您可以嵌入任何DLR語言 (IronPython,IronRuby或JScript),也可以使用編譯器服務從應用程序編譯VB.NET,而不是編寫自定義語言。

另一個想法......如果你只需要改變變量名之間的映射,也許你可以想出一個定義映射的小XML文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM