我有一个 Web 方法,我想从我的 C# 应用程序调用它,并提供了一个 Javascript 示例,展示了如何调用该方法。我已经确定从桌面运行 Javascript 会遇到 CORS 问题 - 当我将 javascript 放在服务器上并从与 Web 方法相同的文件夹中运行它时,我能够运行示例。
我的 C# 应用程序会遇到相同的 CORS 问题吗?还是因为只有浏览器具有内置的 CORS 安全性才可以?
--编辑--
我一直在使用 System.Net.Http.HttpClient 和 http://restsharp.org/
我假设这两个对象是网络浏览器的包装器是否正确?他们会遇到 CORS 问题吗? 我真的不想编写套接字代码。
最佳答案
出于安全原因,浏览器限制从浏览器脚本内发起的跨源 HTTP 请求。例如,XMLHttpRequest遵循同源策略。这意味着使用 XMLHttpRequest 的 Web 应用程序只能向其自己的域发出 HTTP 请求。这可以防止应用程序容易受到 CSRF 攻击。然而,在某些情况下,应用程序需要访问来自不同域的资源。这就是 CORS 发挥作用以允许跨域请求的时候。
话虽如此,您的 C# 应用程序应该能够调用 WEB API,而不会出现任何 CORS 问题,只要它是套接字到套接字通信(而不是通过浏览器)。
关于javascript - 跨源资源共享是否会影响连接到 Web 方法的所有客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44297755/