Ruby 有个 .net 的库,想在 Linux 给 Rails 网站使用

Peter · 2015年08月19日 · 最后由 douxiance 回复于 2015年08月20日 · 2135 次阅读

有个 .net 的库,想在 linux 给 rails 网站使用,不知道哪位有思路没有?

没用过 mono,大概设想了一下:

  1. 把 .net 库用 mono 做成个可执行文件,加入 path 之后可以在 linux 命令行下使用,就像输入date,返回“2015-08-19”,
  2. 在 rails 里面可以直接用 system(date) 得到“2015-08-19”

我的设想有没有问题?谢谢

应该可以。唯一需要注意的就是执行的 ruby 从进程的用户上继承启动时的环境变量,.net 库要确保能在这个环境变量下执行。

拿台 Windows 机器,把这个包装成一个 API 服务,给同一内网的 Linux 上的 Rails 应用直接调用。

用 zmq 的 req/resp模式, 通吃所有语言的交互

@jjx 简单 Serach 了一下,zmp 是不是就是指 zeromq?

很强大,有机会试试!

#5 楼 @douxiance

是,我的实际例子是 python, 用的是 aspose 的 cells, mono 这边用的是 NetMQ, 设计了一个通用的调用层,python 这边用 pyzmq 同其通讯,这其实也是不同语言之间做 micro service 的一种模式

.NET 这边用 ASP.NET WEB.API 包装成 json 服务,然后 ruby 这边调用。

  1. windows 运行 RESTful 的服务,或者 Thrift 的服务开放给 rails 调用

  2. linux 下运行 mono 的 wcf 的服务:我们之前也是想使用第三方的.net 库 (打印)。但是MONO 比较艰难(我们不是很专业),后来直接换成 windows wcf 了。在第一版的 wcf 中我们使用的是 soap,与 rails 的数据交换存在解析困难的问题。后来,类似需求我们都使用了 windows RESTFul 和 rails + rest-client, 挺好用。

我觉得可行,类似 ruby 代码里面

result = `python demo.py`

捕获 stdout, 前提是你得包装成可执行文件,打印出来。

#8楼信息量很大,赞一个!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号