我需要允许我的用户能够定义将基于数据计算值的公式。例如如何允许用户在C#应用程序中定义财务公式
//Example 1
return GetMonetaryAmountFromDatabase("Amount due") * 1.2;
//Example 2
return GetMonetaryAmountFromDatabase("Amount due") * GetFactorFromDatabase("Discount");
我需要允许/ * + - 操作,也将本地变量并执行IF语句,像这样
var amountDue = GetMonetaryAmountFromDatabase("Amount due");
if (amountDue > 100000) return amountDue * 0.75;
if (amountDue > 50000) return amountDue * 0.9;
return amountDue;
的情况是复杂的,因为我有以下结构。 。
- 客户(几百)
- 配置(10%左右的客户)
- 项目(每个客户配置约10,000)
所以我会执行一个3级的循环。在每个“配置”级别,我将启动一个数据库事务并编译论坛,每个“项目”将使用相同的事务+编译公式(每个配置大约有20个公式,每个项目将使用所有这些公式)。
这使事情变得更加复杂,因为我不能只使用编译器服务,因为它会导致内存使用持续增长。我无法在每个“配置”循环级别使用新的AppDomain,因为我需要传递的某些引用无法编组。
有什么建议吗?
- 更新 - 这是我一起去的,谢谢! http://www.codeproject.com/Articles/53611/Embedding-IronPython-in-a-C-Application
Downvoted for broken link。 – 2014-11-01 02:18:09
谢谢。链接固定。你现在可以删除你的投票:) – 2014-11-01 10:30:46