当前位置: 代码迷 >> C# >> 想用C#写一个外部API,该如何解决
  详细解决方案

想用C#写一个外部API,该如何解决

热度:105   发布时间:2016-05-05 04:41:58.0
想用C#写一个外部API
本地有一个数据库,想把这个数据库的信息,分享给外部,但是又不能让外部直接连接数据库
于是想用C#写一个外部用的api
有几个问题不是很清楚

1,用C#要建什么工程呢,WCF吗?如果是WCF的话调用这个WCF的客户端必须要用.net语言吗,必须的支持WCF吗

2,能不能实现服务器端写好的程序,外部用什么语言都能掉,
我想请求的话就是一个http地址,返回值的话还没想好,可以是xml,可以使Json,数据量大的话可是CSV文件
比如,用IE输入这个地址的话,xml就是显示在ie网页上,用PHP,C#等都可以调用这个http(request?)

谢谢了

------解决思路----------------------
WCF的Web API可以用,只要双方遵循http协议,客户端开发语言就不那么重要了
------解决思路----------------------
你可以建立一个“asp.net 空网站”工程,然后再工程里创建一个“一般处理程序 ashx”。在这个程序中,你可以输出你需要的任何格式的数据(xml、json、csv),可以捕获请求的参数。
------解决思路----------------------
你也可以发布web service。web service是跨平台的,外部用jave或者C#都可以调用。

外部调用你的web service,你的webservice 操作数据库,返回结果。
------解决思路----------------------
webapi,就这么办了,也别ws或者wcf了
------解决思路----------------------
最简单的方式是用web service,性能上要想好就用google的protocol buffer,这个C++,C#,Java,Python都支持的,而且性能超好,使用也非常方便
------解决思路----------------------
用webservice ,把访问数据库的方法写到service中,别人调用你的service
------解决思路----------------------
本机调用用dll,远程调用用web api或者asp.net mvc+owin
------解决思路----------------------
web api好点。

我的新项目使用的asp.net mvc web API用着很不错,感觉比WCF简单,舒服。
------解决思路----------------------
最方便的就是webservice 。
------解决思路----------------------
你的这个问题,还主要是集中在“跨平台访问数据服务”的角度。实际上你只要保证能够让 ajax 方便地访问,那么你的设计就是够格的了。不要纠结于多年以前出的 .net 入门书上写了什么,你会发现哪些书都不是站在更广泛的客户端调用的角度去写的。

实际上真正的通讯任务,在允许客户端读取任务方面非常简单。如果性能不是很好,甚至可以通过服务器水平扩展来提高性能。真正的技术在于“服务器推”信息给客户端,许多应用就是因为缺少这方面的功能(软件公司不小心招聘了毫无这方面经验的程序员)而造成无法开发面向草根大众的各种消费类软件产品。

“想用C#写一个外部API”,这个东西用1天时间掌握了(而千万不要纠结)之后,你应该花2个月时间去学习一下如何设计“服务器推送”方面的知识。

大多数场景,只有服务器先告诉客户端“应该来读取什么”,而不是客户端轮询,才能算是一个比较正规的网络软件。
  相关解决方案