所以我正在尝试创建一个由jQuery调用的C#WCF REST服务.我发现jQuery要求AJAX调用是在相同的源策略下进行的.关于如何进行,我有几个问题.
我已经知道了;
1. JSONP与服务器回调的hacky解决方案
2.拥有跨域代理的服务器开销太多.
3.在浏览器中使用Flash进行调用并在我的WCF服务器根目录下设置crossdomain.xml.
我宁愿不使用这些因为;
1.我不想使用JSON,或者至少我不想限制使用它
2.我想将提供静态页面的服务器与提供应用程序状态的服务器分开.
3.这个时代的闪光是不可能的.
我在想:有没有类似Flash的crossdomain.xml文件适用于jQuery?这个"同源"策略是jQuery的一部分还是特定浏览器中的限制?如果它只是jQuery的一部分,也许我会尝试挖掘代码来解决它.
编辑:
Shreddd得到了相当多的信息,见下文.要在C#中执行此操作,我创建了以下方法,您需要调用所有服务方法:
private void BypassCrossDomain()
{
WebOperationContext.Current.OutgoingResponse.Headers.Add("Access-Control-Allow-Origin", "*");
}
Run Code Online (Sandbox Code Playgroud)
重要的是要注意,这允许跨站点脚本攻击,当您需要使用您的请求发送第三方cookie时,您也不能使用"*".
我希望我的线路,尤其是评论中的线路能够自动管理,这样它们就不会太长.
我记得有一次我有一个配置,vim当我达到72个字符时,我自动将我输入的单词移动到下一行.如果我编辑它,重新排列段落是不够智能的,但这是一个开始.
有什么东西能为我管理这些吗?我倾向于在我的代码中写出非常长的注释,并且通过具有一致的宽度使它们看起来很整洁有帮助,但是这样做总是很痛苦,因为编辑句子通常需要编辑段落的其余部分.
我刚刚发现了Ctrl+ Shift+ F功能.它是惊人的,优于Ctrl+ I,这是我到目前为止使用的,但我注意到它没有做任何事情来清理我的评论.
更新:在Eclipse中使用Java时,答案是正确的.好像我必须等待CDT加入这个功能.
我真的很喜欢YankRing的行为,这让我访问的最后几件事情我已经yanked或deleted或c忌用不假思索.
然而,像这样的补充功能对于.重复命令完全缺失,通常当我输入我真正想要重复的内容时,然后通过按x下来清理某些内容而意外地覆盖该编辑.
通常情况下,我可以通过视觉模式来恢复我刚输入的内容,但这并不理想.
记住过去的几个命令应该很容易.
问题是如何从Vim中提取出任何商店中包含的最后一个命令的表示,.它会在它被吹走之前做什么?
如果它是我所担心的,唯一的方法是让一个插件绑定到每个可以编辑某些东西的命令,并以一种存储我们自己的重复缓冲区的方式对其进行检测.这真的不实用,因为我已经可以想象有多少其他插件会破坏.但是,如果有可能,我仍然真的想要这个功能.
避免使用未命名的shared_ptr临时值来保存输入; 要了解为什么这是危险的,请考虑以下示例:
void f(shared_ptr<int>, int);
int g();
void ok() {
shared_ptr<int> p(new int(2));
f(p, g());
}
void bad() {
f(shared_ptr<int>(new int(2)), g());
}
Run Code Online (Sandbox Code Playgroud)
函数ok遵循字母的准则,而bad构造临时shared_ptr,承认内存泄漏的可能性.由于函数参数是以未指定的顺序计算的,因此可以首先计算new int(2),g()second,如果g抛出异常,我们可能永远不会访问shared_ptr构造函数.<...>
通过使用boost/make_shared.hpp中定义的make_shared或allocate_shared工厂函数,也可以消除上述异常安全问题.这些工厂功能还通过合并分配提供了效率优势.
我想我会开始使用make_shared,但我想知道这一点建议是否仍然适用于C++ 11 shared_ptr.我问,因为我并不完全理解为什么投掷g()会阻止ctor被调用.
我希望通过BitBlt获得更多性能以捕获屏幕.当Aero保持启用状态时,仅捕获屏幕的400x400像素区域可将捕获时间从我的计算机上的平均50毫秒(完整1920x1200)减少到大约33毫秒(400x400).这是一个令人失望的低改善.
我唯一的选择是禁用Aero吗?我知道当Aero被禁用时,我可以在全屏幕上获得快速3ms的快速捕捉.
可能重复:
如何printf uint64_t?
为什么在我的64位Mac上(我使用的是Clang)uint64_t类型是unsigned long long在64位Ubuntu上的uint64_t类型是unsigned long什么?
这使我很难接到我的printf调用,在两种环境下都不给出编译器警告(或者甚至工作).
我可以尝试使用宏来尽量选择正确的字符串(#define LU无论是%llu或%lu,并在这个过程uglifying的printf串位),但在Mac上我有一个64位字长(所以_LP64会被定义UINTPTR_MAX != 0xffffffff),但它仍然long long用于64位int类型.
// printf macro switch (for the uint64_t's)
#if UINTPTR_MAX == 0xffffffff
// 32-bit
# define LU "%llu"
#else
// assume 64-bit
// special case for OS X because it is strange
// should actually check also for __MACH__
# ifdef __APPLE__
# define …Run Code Online (Sandbox Code Playgroud) 此问题在iOS或Chrome上不存在,因此它不是与Webkit相关的问题.它似乎特定于OS X 10.8.2上的最新Safari 6.0.2(而不是由Safari 6.0.3附带的10.8.3预览版本12D65修复).我将很快用Safari 6.0.2测试Lion 10.7.5,并且还将在预览版本12D68上进行测试.
这是一个小问题,使问题非常明显.如果你有一台运行ML的Mac,你会发现Chrome和Safari之间存在显着差异,当你移动鼠标时,Safari会闪烁很多.
基本上问题是Safari将间歇性地从JS为单帧绘制目标变换,然后继续过渡动画.这会导致闪烁,但前提是转换处于开始的某个位置.因此,对于CSS3过渡的大多数(非密集使用),错误不会使其丑陋的头部,但如果功能或视觉效果依赖于它平滑地插入到目标(就像我当前的项目那样),这种闪烁是不愉快的.
我已经看过有关闪烁类似的主题和应用非常的风格,以抵消抖动,如所有组合-webkit-backface-visibility: hidden,迫使各父元素获得硬件加速-webkit-transform-style: preserve-3d, -webkit-perspective: 1000以及没有人遗憾的是做任何事情来解决这个特定的Safari浏览器的问题闪烁,即闪烁不是白色或空白,而是闪烁到单个帧的目标变换.
在这个分支中你可以看到我设置了一堆样式,有助于"常规闪烁",但对我没有任何影响.http://jsfiddle.net/zrr2b/1/
由于这不是webkit特定的问题,我不确定在哪里发布错误报告.因为我认为这是一个相当大的问题,所以在10.8.3发布之前得到它会特别好.请记住,这是我们依赖HTML5做的事情,以便它真正杀死Flash.
更新:
$ bash -c 'echo "0 is $0 1 is $1"' abc def
0 is abc 1 is def
$ echo 'echo "0 is $0 1 is $1"' > bashtest
$ bash bashtest abc def
0 is bashtest 1 is abc
Run Code Online (Sandbox Code Playgroud)
第二次运行相当于如果我将bash测试变成带有shebang的shellcript然后直接运行它...
基本上我想知道为什么abc并不总是如此$1.它$0在运行时变为bash -c.
我的一个最常用的gdb命令是l由跟随n后面l -.
我如何在lldb中获得相同的内容?
我不是不满意不必键入一些行号刚在某处看到代码.在将大量变量转储到终端之后,我想看看我在代码中的位置.我曾经习惯l -回去看看我在哪里,因为随后的调用l将滚动我(lldb也这样做,但关键是没有响应l -).
也许我错过了一些东西,并且我可以将它放入某种"模式",它将始终在单独的缓冲区中显示相应的源位置.那会很好,但我甚至都没有要求.
根据我能找到的极少数相关主题我收集的是,获取正确照明计算的取幂步骤可能必须在iOS应用程序的最终片段着色器中完成.
我一直在使用最新最好的Xcode 5 OpenGL调试器进行分析,并且片段的取幂会占用大量的计算量.这条线在整个着色器中花费的时间最长(其余的性能都被norm点光源所需的各种调用所吸引).
glEnable(GL_FRAMEBUFFER_SRGB);不幸的GL_FRAMEBUFFER_SRGB是,没有宣布的工作.
当然,我应该用于GL ES的实际枚举可能会有所不同.
根据Apple的说法:
仅SGX 543和554处理器支持以下扩展:
EXT_color_buffer_half_float
EXT_occlusion_query_boolean
EXT_pvrtc_sRGB
EXT_shadow_samplers
EXT_sRGB
EXT_texture_rg
OES_texture_half_float_linear
嗯,这很好,没有543或554的最新设备是iPhone 4.
从扩展名的文本文件看起来我可以设置SRGB8_ALPHA8_EXT为internalformat参数RenderbufferStorage,但没有说明如何让正常的最终帧缓冲区为我们免费应用sRGB.
现在sRGB校正似乎是获得正确颜色的缺失步骤.我在我的应用程序中处理可怕的"曝光不足"颜色的方法是在片段着色器中手动应用像这样的伽马校正:
mediump float gammaf = 1.0/1.8; // this line declared outside of `main()`
// it specifies a constant 1.8 gamma
mediump vec4 gamma = vec4(gammaf, gammaf, gammaf, 1.0);
gl_FragColor = pow(color, gamma); // last line of `main()`
Run Code Online (Sandbox Code Playgroud)
现在我认识到典型的渲染管道涉及一个或多个渲染到纹理,然后是FS四边形绘制,这将使我有机会使用SRGB8_ALPHA_EXT渲染缓冲区,但是如果没有渲染缓冲区我应该做什么呢?我是SOL吗?
如果是这种情况,那么这个 …
c++ ×4
javascript ×2
ajax ×1
bash ×1
bitblt ×1
c++11 ×1
cross-domain ×1
css ×1
css3 ×1
debugging ×1
eclipse ×1
eclipse-cdt ×1
formatting ×1
gdb ×1
integer ×1
ios ×1
jquery ×1
lldb ×1
long-integer ×1
macos ×1
opengl-es ×1
performance ×1
pointers ×1
rest ×1
safari ×1
shared-ptr ×1
types ×1
vim ×1
winapi ×1