如何将响应处理程序添加到Microsoft.ApplicationServer.Http.HttpConfiguration作为WCF Web Api的一部分?

时间:2012-02-28 10:13:37

标签: asp.net-mvc wcf-web-api

我有一个ASP.NET MVC项目,我使用WCF Web Api(预览版6),我想用它来支持一个支持JSONP的简单JSON服务。我开始运行的JSON部分非常简单,但我在JSONP部分遇到了一些问题。

基于Alexander Zeitler的优秀post,我有了使用响应处理程序来支持带有回调参数的JSONP的想法,但我可以弄清楚如何将此响应处理程序添加到HttpConfiguration(使用WCF Web Api)预览6)。

我在Global.ascx.cs中的代码看起来像这样:

var catalog = new AssemblyCatalog(typeof(MvcApplication).Assembly);
var container = new CompositionContainer(catalog);        
var config = new HttpConfiguration() { EnableTestClient = true };

config.MessageHandlerFactory = () => container.GetExportedValues<DelegatingHandler>();

//config.ResponseHandlers <-- what to do here???

消息处理程序工厂负责在URL中使用/ json时显式返回JSON请求。

1 个答案:

答案 0 :(得分:0)

您可能想看看Phil Haack如何使用Web Api实现[Authorize]属性。 Implementing an Authorization Attribute for WCF Web API

在该示例中,他附加了一个额外的(自定义)处理程序。我相信你可以使用相同的代码来替换现有的处理程序。