接下来我们将学习WCF跨域交互各个角度出来,来讲述WCF跨域交互的功能,这主要包括C#3.0,VB9.0,WCF,WPF,WP,LINQ,AJAX,mobile开发,Cardspace,智能客户端。
下面是我扫除这一障碍的一个笨得不能再笨的方法 #t#
第一步:在项目中创建一个页面Proxy.aspx,作为ExtJs与Wcf跨域操作的代理页面。这个页面和ExtJs位于一个位置,并且去除页面中的HTML代码:
WCF跨域交互后台代码为:
- Proxy.aspx.cs
- using System;
- using System.Collections;
- using System.Configuration;
- using System.Data;
- using System.Linq;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.HtmlControls;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Xml.Linq;
- using System.Collections.Specialized;
- namespace ExtJs_Wcf_Linq_PageGrid
- {
- public partial class Proxy : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- string remoteUrl = Request.QueryString["remote"];
- using(System.Net.WebClient wc = new System.Net.WebClient())
- {
- NameValueCollection nvc = Request.QueryString;
- foreach (string key in nvc.Keys)
- {
- if (key != "remote")
- {
- if (remoteUrl.IndexOf("?") == -1)
- {
- remoteUrlremoteUrl = remoteUrl + "?"+key+"="+ nvc[key];
- continue;
- }
- remoteUrlremoteUrl = remoteUrl + "&" + key + "=" + nvc[key];
- }
- }
- string response = wc.DownloadString(remoteUrl);
- Response.Write(response);
- Response.End();
- }
- }
- }
- }