如何调用本地HTTP处理程序

时间:2011-06-21 08:47:41

标签: asp.net httphandler

我有一个HTTPHandler,它返回一个图像或一些文本,并希望从本地网络应用程序调用它。

这样做的一种方法是创建一个WebClient并将其指向处理程序并以这种方式下载数据但这在生产中启用身份验证时会出现问题,而且效率似乎也不高。有更好的方法吗?

我试图这样做的原因是我有一个页面将其他来源的内容注入面板,一些资源是本地的(到网络应用程序)而其他资源是远程的,我想要一个解决方案涵盖所有可能性,以便我可以很容易地改变来源。

2 个答案:

答案 0 :(得分:2)

最简单的方法之一是 链接 内容,即使用html元素(如image,iframe)并将其源指向相关处理程序。只要可以从客户端/浏览器访问URL,它就可以与本地和远程处理程序一起使用。

如果您必须获取某些处理内容等,那么您可以使用WebClient下载内容 - 它无论如何都支持基于HTTP的身份验证方案(包括Windows /集成身份验证),所以它不应该是一个问题。

如果要为本地处理程序优化进程,那么您可能需要为内容提供程序抽象接口 - 您可以有两个实现(一个使用WebClient获取远程内容,另一个可能使用本地本地API)处理程序类直接获取内容。)

答案 1 :(得分:1)

  1. 将处理程序中的代码解压缩到单独的程序集
  2. 在具有HTTP处理程序的项目中引用此程序集,并使处理程序只调用您的共享代码
  3. 在您的网络应用项目中引用此程序集。
  4. 您可能希望为您的Web应用程序创建一个提供程序,该提供程序将使用进程内程序集或转到远程站点。