所以,情况就是这样:
实施身份验证代码后,Web服务停止运行。以下是错误消息:
我意识到问题是由于每个代码行都带有" $ http.defaults.headers.common.Authorization = ..."
经过一些搜索,我知道我可能需要做一些允许授权标题的事情。
答案 0 :(得分:1)
我找到了一个解决方案,这要归功于CodeProject中的一篇文章。 由于我是网络开发的新手,以下是我必须遵循的详细程序才能成功执行:
了解为什么存在这个问题,并且只需要在WCF中启用CORS:
当我使用Visual Studio开发我的WCF Web服务时,为了创建文件Global.asax,我不得不: *在解决方案资源管理器中,右键单击项目名称 - >添加 - >新物品... *在左侧菜单中,Web - >常规和选择全局应用程序类 *写下这段代码:
protected void Application_BeginRequest(object sender,EventArgs e)
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://localhost");
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, Authorization");
HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
HttpContext.Current.Response.End();
}
}
请注意,在这种情况下,需要在
中添加“授权”HttpContext.Current.Response.AddHeader(“Access-Control-Allow-Headers”,“Content-Type,Accept,Authorization”);
删除web.config中可能包含的类似内容,否则由于冗余数据会导致冲突。
我说的是我说的一切。