繁体   English   中英

如何在ASP.Net中向Web应用程序添加Web服务层

[英]How to add web service layer to web application in ASP.Net

我们有一个ASP.Net Web窗体应用程序,其中有用于数据访问层对象,业务逻辑层对象和表示层对象(Web窗体)的不同文件夹。 我们还为Sql服务器实现了Provider模型。 今天的整个应用程序是带有Web表单的统一dll文件。

我们现在必须交付一个单独的Web应用程序,该Web应用程序将作为此应用程序的外部网访问。 我们正在考虑将其实现为表示层应用程序,以调用Web服务(以提高安全性),而不是直接连接到数据库。 我们面临以下考虑:

  1. 有没有一种方法可以使用(重用)已经在应用程序中实现的业务逻辑,而无需在Web服务组件中复制源代码? 由于将在Extranet应用程序中自动实现在应用程序中修复业务逻辑和数据访问逻辑,这将使维护更加容易。

  2. 我们今天正在使用表单身份验证。 Extranet应用程序是否可以对Extranet使用相同的用户,成员身份,角色和配置文件,以便可以从现有应用程序管理所有用户? 将此身份验证视为Web服务吗?

  1. 是。 您甚至可以尝试直接引用较大的* .dll,但是,建议按照您的图层将较大的* .dll拆分为较小的* .dll。 首先是数据层,然后是业务层,然后是表示层。 这样,您的Web服务项目就只能引用前两个。

当然,另一种方法是从托管您现有的表示层的同一应用程序中公开Web服务。

  1. 从服务器的角度来看,浏览器对网页的调用与富客户端对Web服务的调用之间没有区别。 如果您使用表单身份验证来保护Web服务,则服务器将期望格式良好的表单cookie,然后您就可以从Web服务代码中访问context.User ,就像在Web应用程序代码中一样。

几年前,我写了一篇关于如何在Web应用程序与桌面/ Web服务应用程序之间共享表单身份验证的博客。

http://www.wiktorzychla.com/2008/02/clickonce-webservice-and-shared-forms.html

一段时间后,我用关于如何对WCF进行相同操作的另一个条目更新了该主题。

http://www.wiktorzychla.com/2010/04/aspnet-forms-authentication-sharing-for.html

这应该为您提供所需的背景。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM