我们有一个使用ASP.NET Web表单(3.5)构建的产品,并正在研究添加API以允许其他应用程序访问应用程序中的数据和业务逻辑。
实现此目的的最佳方法是什么?我倾向于沿着使用Http Handlers来阅读发布的XML并返回XML的路线,但我确信必须有更好的方法。是否建议使用像WCF这样的东西?
由于产品将由用户在他们自己的服务器上下载和安装(而不是托管),因此在第一次使用它时似乎有很大的压力,因为一旦用户启动,更改就会很难下载和使用该产品。关于如何管理这个的任何建议?
答案 0 :(得分:0)
我认为如果它是用Web表单制作的,那么用户将拥有一个Web服务器/ IIS。因此,我建议在您的产品中添加Web服务。
这样,您可以将其打开以进行自定义,并且不要将其与Web表单项目紧密联系起来。客户甚至可以在不同的网站/服务器上配置它们。大多数现代应用程序都可以轻松调用Web服务,因此它们很受API(谷歌,亚马逊,脸谱等)的欢迎。
如何管理?我觉得版本吧。让客户下载新版本/错误修复程序。我将看到开源应用程序如何处理频繁的更新和分支,并执行相同的操作。如果有人知道如何做到这一点,它是受欢迎的下载应用程序。
答案 1 :(得分:0)
当然,WCF是一种可行的方式,但我建议,正如Nikki所做的那样,使用Web服务。
关于“管理”,嗯,你是对的:一旦你发布了界面,就很难改变它们。我的意思是......
假设您要使用Web服务,一旦您发布了WSDL界面并且发现设计它们不好,您可能会强迫 已经在使用您的产品的人下载新规范并重新实现其代码。但是,如果您在Web服务处理程序中发现编程错误,则可以尽快修复它,而无需更改公共wweb服务的设计合同。
您希望与公共API一起提供的产品必须像Nikki所说的那样进行版本化。
软件产品与公共API之间的区别在于API是公共接口,任何人都可以使用它来开发自己的应用程序交互软件。软件产品是开箱即用的,可以运行您的代码。
例如,Facebook,PayPal等发布了大量的API,您可以找到许多将这些API包装成您喜欢的语言的库。我希望我的多面手回答有所帮助。