如何:为外部应用程序创建 HTTP 请求转发器
展开全部
某些应用程序(如 Silverlight)无法进行跨域请求。当应用程序需要与另一个域中的服务器通信时,系统必须首先将其请求发送到请求转发处理程序(当然,该处理程序与应用程序位于同一域中)。该处理程序然后会重新打包此请求并将其发送到外部域中的目标服务器。 如果Silverlight Web 部件承载的 Silverlight 应用程序所在的域与其页面包含 Web 部件的 SharePoint Foundation Web 应用程序所在的域不同,并且该 Silverlight 应用程序需要向 Web 应用程序发送请求,则必须在 Silverlight 应用程序所在的域中创建并安装请求转发处理程序。在向页面中添加 Web 部件后,会在 外部应用程序 XML 中指定该处理程序的 URL。有关创建此 XML 的详细信息,请参阅 如何:创建外部应用程序 XML 标记。该处理程序所需的大部分逻辑包含在 RequestForwarder 类中。您所创建的处理程序类是对此类进行的一种包装。创建请求转发处理程序在您的 Visual Studio 项目中添加一个纯文本文件,并为其指定 .ashx 扩展名。在页的顶端添加一个 WebHandler 指令。使用 Language 和Class 属性指定实现该处理程序的编程语言和类。下面是一个示例。 <%@ WebHandler Language="C#" Class="ToSharePointForwarder" %>在该指令的下方正确添加代码,就像在普通代码文件中添加代码一样。首先添加 using 语句,并为 Microsoft.SharePoint.Client 命名空间添加该语句。using System; using System.Web; using Microsoft.SharePoint.Client;Imports System Imports System.Web Imports Microsoft.SharePoint.Client为处理程序类添加声明。由于它是一个 HTTP 处理程序,因此它必须实现 IHttpHandler 接口。public class ToSharePointForwarder : IHttpHandler { }Public Class ToSharePointForwarder Implements IHttpHandler End Class添加 IsReusable 属性的实现。它应仅返回 false。 public bool IsReusable { get { return false; } }Public ReadOnly Property IsReusable() As Boolean Get Return False End Get End Property添加 ProcessRequest(HttpContext) 方法的实现。在很大程度上,实现只是对 RequestForwarder 类的 ProcessRequest() 方法进行的包装。但是,您必须首先将应用程序主体凭据添加到请求中。public void ProcessRequest (HttpContext context) { RequestForwarder forwarder = new RequestForwarder(context); if (!String.IsNullOrEmpty(forwarder.Url)) { forwarder.WebRequest.Credentials = new System.Net.NetworkCredential("ContosoSilverlightApp", "&Tu*)2v", "Contoso"); forwarder.ProcessRequest(); } }Public Sub ProcessRequest(ByVal context As HttpContext) Dim forwarder As New RequestForwarder(context) If Not String.IsNullOrEmpty(forwarder.Url) Then forwarder.WebRequest.Credentials = New System.Net.NetworkCredential("ContosoSilverlightApp", "&Tu*)2v", "Contoso") forwarder.ProcessRequest() End If End Sub修订记录日期说明2010/05/01初始发布
Storm代理
2023-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询