1

我希望实现将与 ASP 站点集成的 REST 服务(基本上是同一个项目)。

我试图提供我的自定义VirtualPathProvider( VPP) 并且它有效,但在一定程度上。首先,content-type响应的总是application/octet-stream。其次,只有GET请求通过管道传输VPP。我见过有人玩弄HttpApplication解决这些问题。我不确定我是否希望遵循破解 ASP 的道路,因为这可能需要很多时间,最终可能根本无法完成任务。

有没有办法做到这一点,或者我应该为 MVC 创建一个单独的页面,并通过一些进程间通信与之交谈。这样 MVC 将处理 REST 请求并调用我的代码作为响应。反之亦然- ASP 将能够向远程服务器发送 REST 请求。

如果有任何其他更清洁、更安全、更简单的方式将 MVC 与 vanilla ASP 联系起来,请随时在评论/答案中发布它们。

4

1 回答 1

1

VirtualPathProvider旨在为内部 ASP.NET 操作(例如将 *.aspx 和 *.master 文件存储在数据库中)虚拟化文件系统的一种方式,它适用于用户提供的 URI 和请求只是巧合。

最好的办法是使用 ASP.NET MVC,它现在与 ASP.NET(自 4.x 起)集成或作为 .NET 3.x 中易于再分发的组件。ASP.NET MVC 在同一个应用程序中与 WinForms 配合得很好,所以不要重新发明轮子。

但是,如果您坚持,唯一真正的选择是在IHttpHandler选择是否处理传入请求的自定义中完成所有操作(因为您没有使用 ASP.NET URL Routing,因为您没有使用 ASP.NET MVC )。

于 2013-03-06T10:10:59.823 回答