大家好,这两天做项目遇到一个问题,同事 A 用 C#写了一个 winodws 窗口应用程序,然后同事 B 想调用同事 A 的部分功能,但是同事 B 使用的是 Python 相关的技术栈,如果要把两个人的工作接起来,为现在想到的最好的方式就是把同事 A 的应用程序做成一个 web 服务,就类似 rest api 的形式,但是本人的技术栈都在 python 这边,所以想问下各位大佬,有没有相关的教程或者其他什么建议? 先谢谢各位了
1
johnny23 2017-06-15 11:52:23 +08:00 via iPhone
webservice
|
2
johnny23 2017-06-15 11:53:23 +08:00 via iPhone
ashx asmx aspx 都可以做 千变万变 都是 http 协议 当然 asmx 可以支持 soap 等
|
4
johnny23 2017-06-15 11:55:38 +08:00 via iPhone
还有 如果不想和 iis 耦合很紧 可以用 owin 这个组件 具体用法博客园多的很
|
7
fffflyfish OP |
8
anyele 2017-06-15 15:35:05 +08:00
@fffflyfish #7 建议你直接用 ASP.NETCore
|
9
fffflyfish OP @anyele 就是直接用 dotnet 这个命令创建吗,我其实也倾向于用这个,毕竟装一个 vs2013 费时费力
|
10
anyele 2017-06-15 17:17:06 +08:00
@fffflyfish #9 你要装 VS2017 才能用, 而且现在安装 VS 很快了
|
11
anyele 2017-06-15 17:19:31 +08:00
@fffflyfish #9 当然你可以用轻量级的其他的 IDE 比如 jetbrains 家的, 不过我还是推荐 VS2017,毕竟是官方的
|
12
fffflyfish OP @anyele 懂了,谢谢大佬
|
14
kkeybbs 2017-06-15 23:49:18 +08:00 via Android
可以换个思路,不用走 web,毕竟改造 winform 成 web 还有点成本。编译加上 com,编译出来的 exe 可以当成 com 组件用。python 通过 win32com 直接调用 com 组件
|
15
fffflyfish OP @kkeybbs 哦?还可以这样玩?我查查,看起来工作量少很多,谢谢大佬
|
16
PythonAnswer 2017-06-16 03:36:35 +08:00 via Android
com 组件方便很多的,如果只是本机使用的话,没必要 http
|
17
XiaoFaye 2017-06-16 03:44:17 +08:00 1
@kkeybbs 千万别用 COM,那是一个大坑,你总得考虑以后的移植问题,最好的方法就是在现有的 WinForm 上面加个 SelfHost,然后 RestAPI 输出。
|
18
kkeybbs 2017-06-16 06:59:01 +08:00 via Android 1
@XiaoFaye 赞同 com 有坑,更赞同“经济的满足使用要求”,这个 lz 自己平衡未来维护扩展
|
19
beginor 2017-06-16 07:00:20 +08:00 via Android 1
为啥总是折腾同事 A 呢, 同事 B 能否试试 Iron Python 呢,py 代码直接在 .net 上跑, 互操作也挺好。
|
20
kkeybbs 2017-06-16 07:00:37 +08:00 via Android
@fffflyfish 还有个办法,ironpython,直接调用 c#的 exe 和 dll,不过不是常用的那个“标准 python ”了
http://m.blog.csdn.net/manimanihome/article/details/53178789 |
22
bearqq 2017-06-16 07:47:17 +08:00 via Android
本地 python 调用别语言第一反应是用 dll→_→
|
23
yesicoo 2017-06-16 08:39:28 +08:00
Owin 不需要 IIS 部署 SelfHost
|
25
Presbyter 2017-06-16 08:53:34 +08:00
RabbitMQ 吧,顺带着都为服务化了.
|
26
fffflyfish OP @beginor 老哥不要误会,这里只是方便描述,其实就是只有我一个人,ironPython 是一个不错的思路,涨姿势了,谢谢🙏
|
27
fffflyfish OP @XiaoFaye 学习了,谢谢大佬!
|
28
pixes4world 2017-06-16 12:35:11 +08:00
ASP.NET (core) Web API or Nancy,更推荐 Nancy,轻量简单
|