WCF 构建REST Service 跨域访问解决方法
2017-06-22 15:28
337 查看
服务端是用vs2013里WCF做的REST风格的web service。
客户端是用jquery+ajax访问web service。
参考 http://www.topwcftutorials.net/2014/01/crud-wcf-restful-service.html。
调试中发生跨域访问错误,试了很多方法,终于解决。
参考 https://www.codeproject.com/Articles/845474/Enabling-CORS-in-WCF。
解决方法就是增加两个文件, Global.asax 和 Global.asax.cs。
Global.asax 就一句话:
<%@ Application Codebehind="Global.asax.cs" Inherits="Wcf.App.Global" Language="C#" %>
Global.asax.cs 内容如下:
客户端是用jquery+ajax访问web service。
参考 http://www.topwcftutorials.net/2014/01/crud-wcf-restful-service.html。
调试中发生跨域访问错误,试了很多方法,终于解决。
参考 https://www.codeproject.com/Articles/845474/Enabling-CORS-in-WCF。
解决方法就是增加两个文件, Global.asax 和 Global.asax.cs。
Global.asax 就一句话:
<%@ Application Codebehind="Global.asax.cs" Inherits="Wcf.App.Global" Language="C#" %>
Global.asax.cs 内容如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Security; using System.Web.SessionState; namespace Wcf.App { public class Global : System.Web.HttpApplication { protected void Application_Start(object sender, EventArgs e) { } protected void Session_Start(object sender, EventArgs e) { } protected void Application_BeginRequest(object sender, EventArgs e) { //HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://localhost"); HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*"); if (HttpContext.Current.Request.HttpMethod == "OPTIONS") { HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "POST, PUT, DELETE"); HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept"); HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000"); HttpContext.Current.Response.End(); } } protected void Application_AuthenticateRequest(object sender, EventArgs e) { } protected void Application_Error(object sender, EventArgs e) { } protected void Session_End(object sender, EventArgs e) { } protected void Application_End(object sender, EventArgs e) { } } }
相关文章推荐
- WCF服务发布到IIS6.0跨域访问的解决方法
- WCF服务发布到IIS6.0跨域访问的解决方法
- sliverlight 访问WCF服务跨域错误解决方法
- SilverLight跨域访问及其常用的几种解决方法
- SilverLight跨域访问及其常用的几种解决方法
- jQuery 跨域访问问题解决方法
- 服务器端可控JS跨域访问解决方法
- 解决 Silverlight 调用 WCF 服务 跨域访问 和 Silverlight 引用服务后配置文件不加载的问题
- 服务器端可控情形的Javascript跨域访问解决方法
- FTP客户端访问用server-u构建的FTP服务端,中文显示为乱码的解决方法
- WCF Data Service 的.NET Client 的不支持原生类型服务操作的解决方法
- WCF Data Service 的.NET Client 的不支持原生类型服务操作的解决方法
- 服务器端可控情形的Javascript跨域访问解决方法
- UI thread client callback和UI thread WCF Service一起工作时死锁的形成原因及解决方法
- WCF Data Service 的.NET Client 的不支持原生类型服务操作的解决方法
- SilverLight跨域访问及其常用的几种解决方法
- WCF Data Service 的.NET Client 的不支持原生类型服务操作的解决方法
- 解决 Silverlight 调用 WCF 服务 跨域访问 和 Silverlight 引用服务后配置文件不加载的问题
- SilverLight跨域访问及其常用的几种解决方法
- WCF Data Service 的.NET Client 的不支持原生类型服务操作的解决方法