我最近继承了一个不再和我们在一起的开发人员的项目。我对Web开发很新,而且我所做的有限服务工作涉及WCF(.NET 4)。
该项目包括一系列服务调用,其中调用.aspx页面(通常带参数)。标记是这样的......
<%@ Page Language="C#" %>
<%
// <!-- Get tasks -->
// return as JSON string
Response.Write(DataAccess.DataManager.DoStuff());
%>
所有重物提升和处理都在DAL中完成。 DAL返回一个int或更常见的JSON字符串。 .aspx页面将结果返回给调用者。
这是一个内部应用程序,所以我不太关心这种技术的安全性。我们正在使用Windows授权(ADS)。呼叫者经常(但不是所有呼叫)发送带有请求的密钥,并检查该密钥是否有授权。
这是创建网络服务的可接受方式吗?这项技术叫做什么?我希望通过这种方式了解更多关于修改/创建新服务的指南,因为这个项目需要维护一段时间。
答案 0 :(得分:3)
除非页面需要特定于页面的组件,否则建议您使用HTTP Handler来执行此类任务。它们会更轻,更快。
答案 1 :(得分:1)
答案 2 :(得分:0)
从某种意义上说,“任何有效的东西”都可以算作网络服务,因为只要符合合同,消费者就没有理由关心服务的实施方式。
也就是说,这看起来像是一个习惯于使用ASPX页面的人设计的黑客,并且没有时间或者没有学会使用专为此类设计的框架。我建议将其迁移到WCF,这为Web服务提供了更多的灵活性。
答案 3 :(得分:0)
(Windows Communication Foundation)WCF就是您现在想要查看的内容。
SOAP和RESTful服务基本上有两种格式。
RESTful越来越普遍,而且非常容易消费。它们也很容易在.NET 4中开发。
http://blogs.msdn.com/b/endpoint/archive/2010/01/06/introducing-wcf-webhttp-services-in-net-4.aspx是一个很棒的教程,其中的示例可以将您从“File&gt; New ...”转到在.NET 4中发布RESTful服务。