有没有办法在Web应用程序中使用Web服务(WCF)?

时间:2010-08-11 10:11:57

标签: asp.net wcf web-services web-applications

是否存在使用WCF WITHIN 您的Web应用程序(ASP.NET / SQL Server)的商业案例?

我不是在谈论被他人使用的服务,而是在Web应用程序中使用的服务。到目前为止,我提出的Web应用程序 WITHIN 的唯一用途是我需要从客户端调用数据库(通过AJAX)。

请不要给我关于Web服务的复制/粘贴课程,我正在寻找的是一个 WCF的例子,让WCF受益于Web应用程序 NOT 其他使用该服务的应用程序。

快速澄清:“网络应用程序”我的意思是一种独立的CRM。它做了很多,但它不与任何外部应用程序/数据库进行对话,并且不需要打开服务点供其他应用程序使用。

3 个答案:

答案 0 :(得分:1)

我们有一个Windows服务,可以从网络上收集实时数据。因为数据是短暂的(它只在3分钟左右才真正有效),所以在数据库中记录它是没有意义的。要检索数据,Windows服务提供(TCP传输)WCF接口,该接口仅向Web服务器公开,我们的Web应用程序从该Web服务器请求数据。

答案 1 :(得分:1)

我认为这在很大程度上取决于你如何定义“应用程序”。

如果您正在谈论单个Web应用程序,那么除了提供ajax数据之外,您已经注意到我正在努力想到为什么您想要作为Web服务的一般原因(更多所以对于WCF来说,这只是一个暴露的API,如果你在应用程序中肯定会更好(在各种意义上)直接进入API而不需要包装和解包调用和数据的额外开销 - 这非常多余。

另一方面,如果“应用程序”是指一组“东西”,它可以为一组(甚至是各种各样的)最终用户提供解决方案,那么肯定是......当然有一种情况组件通过服务进行通信的灵活性超出了开销问题。灰色的地方是,如果假设单个应用程序将(或至少可能)稍后成为连接在一起的多个应用程序 - 但如果您没有这样做现在那么您只是造成自己痛苦,你不需要,所以不应该打扰。如果你需要拆分,那么当你需要拆分它时,将它作为一个自包含的练习处理。

答案 2 :(得分:1)

我的实践中的一个具体示例:在一个网站上,我们主动使用表格,这些表格是针对jQuery的jqGrid插件实现的。每个ajax将加载网格包含。因此,该网站的大多数页面都非常简单,并且具有清晰的XHTML代码。具有数据库接口的业务逻辑位于WCF服务内。在WCF服务内部,我们也从组织的其他信息存储中获取数据。以同样的方式,如果以后需要从我们的项目获得输入,WCF服务将是完美的。

因此,在我们的Web应用程序中使用WCF WITHIN有助于归档清晰的界面,清除HTML标记中的分离业务逻辑和更好的可测试性(在Visual Studio中集成了utit测试)。