我有一个Web应用程序(互联网浏览器访问)和移动应用程序使用的常见Web服务.
我的iOS应用程序在WKWebView中加载本地html文件并使用javascript/ajax调用此Web服务,因此根据WKWebView中的新CORS实现,我必须在响应中添加"Access-Control-Allow-Origin"标头.我将仅在来自应用程序时添加此标头,而不是来自Web浏览器 - 出于安全原因.
如果我将Access-Control-Allow-Origin设置为*一切都按预期工作.但是我宁愿阻止除本地页面以外的任何访问.我试图将其设置为null并且它在WKWebView中不起作用 - 但是如果我在Firefox中打开一个进行ajax调用的本地html页面它就可以了.
有可能在WKWebView中实现这一点吗?我只找到了这个https://issues.apache.org/jira/browse/CB-7348,其中有人说"唯一的解决方案是,目标服务器必须返回匹配的"Access-Control-Allow-Origin"标题通配符或"null""但它不适合我(iOS 10/11)
我有一个非常基本的Linq查询,如果我在Visual Studio或IIS服务器上本地执行它,但不会返回相同的结果 - 但始终以同一数据库服务器为目标.我已经使用SQL Server Profiler来跟踪执行的真实SQL查询,并发现它在本地或远程执行时不一样!
本地它使用左连接而远程使用内连接 - 因此在本地它返回记录但不远程.我认为好的行为将是第二次,因为我在TableA和TableB之间定义了一个不可为空的外键.以下是Linq请求:
from a in TableA.Include("TableB.TableC")
where a.Id == someId
select a;
Run Code Online (Sandbox Code Playgroud)
实际上,第一个连接总是在内部连接中转换,但第二个连接是在本地执行时的左连接.
但我的首要任务是知道为什么它在本地和远程生成不同的查询.框架版本是相同的,实体框架版本是相同的(本地复制)...有些东西必须不同但我找不到什么!你有什么线索吗?
先感谢您.