使用 MessageHandler 与 Filter 在 MVC Web api 项目的请求标头中检查 API 密钥有什么区别。
我看到在http://www.asp.net/web-api/overview/working-with-http/http-message-handlers中有一个很好的 MessageHandler 示例用于此目的
例如
GlobalConfiguration.Configuration.MessageHandlers.Add(new ApiKeyHandler());
但看起来我也可以使用过滤器做同样的事情。
GlobalConfiguration.Configuration.Filters.Add(new ApiKeyFilter());
假设 ApiKeyFilter 和 ApiKeyHandler 都只是查看请求头并检查 api 密钥,哪种方式更有效?有什么不同?