2011-05-11 29 views
0

我目前使用自定义的IHttpHandler类来解析请求并发回响应。使用任何global.asax方法还有什么好处?Global.asax vs IhttpHandler for webservice?

+0

之间的区别 - 它甚至不是一个类。 。 。 – 2011-05-11 22:16:03

+0

我正在查看BeginRequest方法。 – chobo 2011-05-11 22:41:59

+0

你想通过使用Global.asax来实现什么? – 2011-05-12 10:45:07

回答

1

如果你的意思是HttpApplication events vs IHttpHandler,它们并没有真正的可比性。

通常从IHttpModule开始使用HttpApplication事件来处理(原则上)所有HTTP请求的交叉问题。

This question解释了Global.asax的方法的IHttpModule和IHttpHandler的

+0

相当不错的文章,但我仍然不完全明白,如果将我的Web服务的某些方面放在httpmodule中有任何优势。我在考虑性能。 – chobo 2011-05-12 16:05:56

+0

@chobo:表演在这里没有什么可做的。这就像询问使用锤子还是螺丝刀是否更快:它们是针对不同事物的不同工具。 – 2011-05-12 16:21:55

3

你究竟想要做什么?

IHttpHandler对于何时需要精确控制HTTP请求/响应非常有用,但通常这是在您开发框架的时候 - 大部分时间可以在其他地方实现同样的功能。

IHttpHandler肯定不是通常用于Web服务,因此您应该使用WCF或使用ASP.Net web services(如果您的目标是WCF不可用的.Net 2.0框架)进行调查。使用专用的Web服务工具集将使得以一致的方式公开您的服务变得更容易(通过SOAP,JSON等...)

我不太确定global.asax如何进入它 - global.asax是,嗯... global。您在此处执行的任何操作都将适用于整个Web应用程序,因此,您在此处执行的任何请求处理都将适用于所有请求。这不是你应该实施web服务的地方。

+0

我最初尝试过使用WCF,但它太多的学习曲线使它与POST的XML请求一起工作,所以我使用了一个处理程序。我在帖子中得到的是,对于Web服务的某些部分使用global.asax(或httpmodules)是否有任何性能优势,如自定义验证和检查请求源?它有什么区别? – chobo 2011-05-12 16:08:07