如何处理asp.net网页和托管在IIS中的WCF服务之间的跨域请求
本文关键字:WCF 中的 IIS 服务 之间 请求 处理 何处理 asp 网页 net | 更新日期: 2023-09-27 18:17:56
我写了一个WCF web服务,通过IIS-7托管在Windows Server 2012上。服务器的公共IP当前是打开的(防火墙被禁用)。我可以通过浏览器很好地获取元数据和wsdl文档,并且可以通过该IP向Visual Studio添加服务引用。然而,当我的asp.net网页调用一个WCF服务方法,它给了我一个405 -方法不允许的错误。
我认为问题在于跨域发布。我可能是错的,但这是有意义的,因为我只有在从应用程序访问wcf服务时才会出现错误。
我该如何避免这个问题?
这是我的界面:
[ServiceContract]
public interface IDataPortalWCFService
{
[OperationContract]
string HelloWorldTest(string u, string p);
[OperationContract]
string HelloWorldTest2(string u, string p, string str);
[OperationContract]
string HelloWorldTest3(string u, string p);
[OperationContract]
DataTable GetBAQResults(string u, string p, string BAQName, DataTable BAQParameters);
[OperationContract]
string GetBAQResultsAsJSON(string u, string p, string BAQName, string BAQParameters);
}
在IIS中托管WCF服务时处理跨域标头本质上应该与托管在IIS中的任何其他类型的网站相同。下面的问题应该能帮你找到解决办法……
IIS 7.5的CORS设置
解决此问题的另一种方法是简单地重用域。
。对于您的网站使用:-
www.mygreat.com和你的API使用
api.mygreat.com