我正在使用Angular开发单页应用程序.后端公开需要基本身份验证的REST服务.获取index.html或任何脚本不需要身份验证.
我有一个奇怪的情况:我的观点的人有一个<img>,其中src是一个REST API需要验证的URL.它<img>由浏览器处理,我没有机会为它所做的GET请求设置授权标头.这会导致浏览器提示输入凭据.
我尝试通过这样做解决这个问题:
img src在源空XMLHttpRequest一个service(/api/login),以便进行身份验证.img src属性,认为到那时,浏览器会知道在后续请求中包含Authorization标头.........但事实并非如此.图像请求没有标题.如果我输入凭据,则页面上的所有其他图像都是正确的.(我也试过和Angular的ng-src但是产生了相同的结果)
我有两个问题:
XMLHttpRequest?@bergi询问了请求的详细信息.他们来了.
请求/ api /登录
GET https://myserver/dev30281_WebServices/api/login HTTP/1.1
Accept: */*
Authorization: Basic <header here>
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/6.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729)
Connection: Keep-Alive
Run Code Online (Sandbox Code Playgroud)
响应(/ api/login)
HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Length: …Run Code Online (Sandbox Code Playgroud) html javascript basic-authentication angularjs single-page-application
给定container1带有transclude 的指令()和一个隔离的范围,当指令链接时,我有这些范围:
Scope 004 <-- scope of the body
Scope 005 <-- scope of directive container1
Scope 006 <-- scope of the ng-transclude
Run Code Online (Sandbox Code Playgroud)
我期望:
Scope 004 <-- scope of the body
Scope 005 <-- scope of the directive
Scope 006 <-- scope of the ng-transclude
Run Code Online (Sandbox Code Playgroud)
如果同一指令具有共享范围而不是隔离范围,则会得到预期结果.
这导致了一个问题,因为如果被转换的内容包含另一个component1带有隔离范围的指令(),我得到:
Scope 004 <-- scope of the body
Scope 005 <-- scope of the directive
Scope 006 <-- scope of the ng-transclude
Scope 007 <-- scope …Run Code Online (Sandbox Code Playgroud) 我知道如何使用node-inspector和iisnode调试http应用程序.但是,我可以在Windows上使用node-inspector调试非http节点应用程序吗?
我试过了:
node debug test.js
Run Code Online (Sandbox Code Playgroud)
它说:
debugger listening on port 5858
Run Code Online (Sandbox Code Playgroud)
但http://localhost:5858/在Chrome中打开并没有做任何事情.
BTW:运行node debug test.js确实启动了有效的命令行调试器.但它不像节点检查员.
我的WFC服务使用wsHttpBinding配置:
<security mode="TransportWithMessageCredential">
<message establishSecurityContext="True" clientCredentialType="UserName"/>
<transport clientCredentialType="None" proxyCredentialType="None"/>
</security>
Run Code Online (Sandbox Code Playgroud)
我们的合作伙伴之一是尝试使用java Metro库来调用我们的服务.他们有这个问题.我必须设置establishSecurityContext ="False"才能生效.我们进行了快速测试,当我将其设置为false时,它确实有效.
不使用安全会话会产生什么影响(通过设置establishSecurityContext ="False").我已经在https上运行了.那么我在安全性方面会好吗?是否还有其他需要考虑的影响(性能可能)?
谢谢
我不小心做了一个hg pull,它在我当地的回购中创建了一个分支.
什么是最简单的撤消,让我的本地回购回到以前的状态?
几个星期前我们开始使用Mercurial.大多数开发人员都遵循此工
今天,我们的一位开发人员建议我们这样做:
这样,我们在日志中的"合并"变更集就少了很多.
我们中的一些人认为这只是一个问题偏好.我们中的一些人认为一个比另一个好.我们没有太多经验,也不想生活滥用工具的缺点.因此,如果一种方法比另一方更可取,请告诉我原因.
我们有一个针对.Net Framework 4.0的Windows窗体应用程序.安装.Net Framework 4.5后,应用程序开始崩溃.我们将不得不调查崩溃事件,我们很可能必须解决问题.但是,在我们准备好使用.Net 4.5之前,是否有一个设置可以保持旧的行为?
更新07/12/2012: 我们发现导致应用程序崩溃的重大更改:给定System.Threading.Timer,当使用已经关闭的句柄调用Dispose(WaitHandle)时,Timer会尝试发出WaitHandle信号这引发了一个例外.Timer的.Net 4.0实现是容忍的,但4.5不是.
我们这边有一个错误; 我们没有任何理由给它一个封闭的句柄,所以我们只是解决这个问题...直到我们发现另一个错误...
我有一个我这样使用的指令:
<dir model="data"></dir>
Run Code Online (Sandbox Code Playgroud)
该指令具有独立的范围.
scope :{
model:'='
}
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试使用ng-show我的页面的$ scope的另一个属性来使用该指令,如下所示:
<dir ng-show="show" model="data"></dir>
Run Code Online (Sandbox Code Playgroud)
但它不起作用,因为该指令试图show在自己的范围内找到属性.
我不希望该指令知道它的容器可能选择隐藏它的事实.
我找到的解决方法是将指令包装在一个<div>并应用于ng-show该元素,但我不喜欢这个强制我使用的额外元素:
<div ng-show="show" >
<dir model="data"></dir>
</div>
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?
看到这个plunker:http://plnkr.co/edit/Q3MkWfl5mHssUeh3zXiR?p =preview
鉴于这种:
<div id="div1">
<div id="div2">
<div id="div200">
<div id="div3" class="b">
</div>
<div id="div300">
<div id="div4" class="b">
<div id="div5">
<div id="div6" class="b">
</div>
</div>
</div>
<div>
<div>
<div>
</div>
Run Code Online (Sandbox Code Playgroud)
我需要一种方法来查找属于"b"类的元素的子(深),而不是那些嵌套在匹配元素中的子元素.
测试用例:
这就是我需要的:
情况1:
$("#div1").some_jquery_syntax(".b")
Should return:
div3, div4
Run Code Online (Sandbox Code Playgroud)
案例2:
$("#div5").some_jquery_syntax(".b")
Should return:
div6
Run Code Online (Sandbox Code Playgroud)
请注意,困难的部分是我必须从div1开始时跳过div2.所以我不能只使用$("#div1").find("> .b").
我的尝试:
我试过这个:
$("#div1").find(".b")
[<div id="div3" class="b"></div>, <div id="div4" class="b"></div>, <div id="div5" class="b"></div>]
Run Code Online (Sandbox Code Playgroud)
不好:我不想要div5,因为它嵌套在div4中.
我试过这个:
$("#div0").find(".b").not(".b .b")
[<div id="div3" class="b"></div>, <div id="div4" class="b"></div>]
Run Code Online (Sandbox Code Playgroud)
从div0开始时哪个好,但是从div4开始不起作用:
$("#div5").find(".b").not(".b .b")
[]
Run Code Online (Sandbox Code Playgroud) 当我的.Net 3.5应用程序运行时,Windows任务管理器显示我的应用程序有16个线程.我为进程收集了一个内存转储,并使用WinDbg/SOS打开它.
运行!threads命令显示我有:
ThreadCount: 456
UnstartedThread: 0
BackgroundThread: 6
PendingThread: 0
DeadThread: 449
Hosted Runtime: no
Run Code Online (Sandbox Code Playgroud)
以下是!threads输出的前几行:
ID OSID ThreadOBJ State GC Context Domain Count APT Exception
0 1 2848 004366a8 6020 Enabled 11738178:11738778 0042a9f0 0 STA
2 2 1820 004430e0 b220 Enabled 00000000:00000000 0042a9f0 0 MTA (Finalizer)
7 5 2c38 055d6330 80a220 Enabled 00000000:00000000 0042a9f0 0 MTA (Threadpool Completion Port)
8 4 e18 04116900 180b220 Enabled 1157cdc8:1157e778 0042a9f0 0 MTA (Threadpool Worker)
XXXX 6 0 055f94b0 9820 Enabled 00000000:00000000 …