是否有可能存储一些外部文件,这些文件存储一些原始代码(不是C#,可能是简单的Javascript或VB脚本),其中包含许多函数,参数包含来自父代的数据应用程序并捕获将数据返回给C#应用程序。如果是这样,该怎么办?在C#中执行实时代码.net
回答
如果您想使用非CLR语言,最简单的方法可能是使用System.Diagnostics.Process来向您所选择的可执行文件/解释器发送数据,并从中解析出stdout。您当然也可以通过更复杂的机制(如命名管道,TCP/IP,HTTP等)进行通信,但这需要在双方编写代码。
有一些按需c#的口译员(http://www.csscript.net/,http://www.codeproject.com/KB/dotnet/nscript.aspx),但我不会推荐他们。主要是因为无法知道将来版本的.NET会得到怎样的支持。
对于将来的版本,请使用Roslyn。 – SLaks
如果您正在创建一个永不停机的系统。我会建议你的想法的一些替代方案。
最后,我不认为你的想法会被淘汰。除非我遗漏了某些东西,在为原始JavaScript文件添加新功能时,您仍然需要更新C#代码以处理与该特定代码段之间的通信。也许你可以用很多xml来缓解这种情况。但是,一旦你开始用这些术语思考,你就会产生IO的TON,数据编组和维护噩梦。
总之,我不认为这是一个可行的选择。
一些替代方案:
多服务器:如果你保持2级或3个相同的服务器,那么你可以简单地关闭了一个,你的所有用户重定向到您的备份,当你更新你的主。完成后,将它们重定向回主服务器,然后更新备份。
实时修补:同样,我对此类方法知之甚少,但有一些算法和方法可以在不必重新启动的情况下修补dll。对这个话题做一些研究,因为它可能是最可行的选择(大多数时候人们和公司不会购买更多的硬件,没有一系列的理由来支付成本)。
我写了一些这样的脚本应用程序。我会为初学者推荐IronPython(http://ironpython.codeplex.com/),以及How to use Microsoft.Scripting.Hosting?的说明。有几种语言可供选择... IronPython最适合我的需求。
- 1. 在C#中执行.NET IL代码#
- 2. 在运行时执行.NET代码
- 3. 在特定时间间隔后执行代码,C#.NET
- 4. 在.Net中反射执行代码
- 5. 如何在html文件中执行C#.net代码?
- 6. 在C#中执行Powershell Cmdlet代码#
- 7. 在Nuget包中执行C#代码
- 8. 如何在C#中执行Javascript代码
- 9. 是否可以在C#中运行时创建/执行代码?
- 10. C#中的.NET分布式代码执行框架
- 11. 停止执行代码时在Page_Load中
- 12. 在C++代码中更改.NET 4运行时激活策略
- 13. 如何在mac上的visual studio代码中执行C#代码
- 14. 在启用ARC的C代码中执行Objective-C代码时,运行时内存泄露警告
- 15. 使用RDTSC指令在C中测量代码执行时间
- 16. 当输入键被按下时,在objective-c中执行代码?
- 17. 如何从SQL TRIGGER执行.NET代码?
- 18. 代码访问安全实时在.net中的实现?
- 19. 是否有可能在.NET中运行时编译和执行新代码?
- 20. C++代码只能在终端运行程序时执行
- 21. 在运行时执行C#或VB.NET代码
- 22. 在C执行LLVM红外代码
- 23. 在Centos(Linux)上执行C#代码?
- 24. C++类中的可执行代码
- 25. 在.NET中实现IHttpSecurity(托管代码)
- 26. 在执行swagger代码时忽略服务实现文件gen
- 27. 如何在实际达到限制时执行代码
- 28. c# - 如何逐行执行代码?
- 29. 是否可以在.net框架中执行JavaScript代码?
- 30. 你可以在.NET中执行代码间接吗?
你想在C#中运行JavaScript? – Magnus
如果你想在C#中编写脚本,你见过LinqPad吗? – DaveShaw
什么?.......... –