我有一个jQuery对话框,其内容由iframe定义.在显示对话框之前,此iframe的内容是不可见的.在IE中,这个内容及其相关的javascript正在执行,因此当显示对话框时,很明显javascript已经完成了所有的加载工作.但是在像Firefox和Chrome这样的非IE浏览器中,这个iframe再次在对话框可见之前执行其javascript,但是当显示对话框时显然会重新执行它.
因为这是一个相当昂贵的iframe(使用ajax调用执行大量的javascript),我不希望浏览器支付初始化两次的费用.事实上,我可能会说我想延迟初始化它,直到对话框实际出现.但是它是否在它出现之前初始化然后保留初始化(正如IE正在做的那样)或它只是延迟初始化直到对话框可见,我可以解决.
我不能满足的是我现在看到的,非IE浏览器初始化两次,第一次是完全浪费,因为它们在对话框出现时重新初始化.
我指的页面:http://openidux.dotnetopenauth.net/.您可以通过单击右上角的"登录"链接来重现行为.
谢谢.
在尝试将存储库镜像到远程服务器时,服务器拒绝树对象4e8f805dd45088219b5662bd3d434eb4c5428ec0.顺便说一句,这不是顶级树,而是子目录.
我怎样才能找出哪个提交间接引用了这个树对象,这样我就可以避免推送链接到这些提交的引用,以便让我所有其余的repo正确推送?
打开iframe后,我有时需要关闭它.到目前为止,我只是从其父节点中删除iframe,从而将其从DOM中删除.但是,我发现这并没有立即结束iframe的生命,它的javascript代码仍然可以回调到父窗口,后者不再需要这些回调.
我怎么能杀死iframe死了?我没有看到关闭或破坏方法.
我正在尝试使用Microsoft的源服务器功能挂钩我的git存储库,以便人们调试到我的二进制文件将自动从github.com下载源文件.
git show命令将为我提供我需要的正确文件和版本,但由于调试器没有在具有项目源代码的本地git repo的计算机上运行,我需要从github而不是a gitub执行"git show"本地目录.我想象的是这样的:
git --no-pager "--git-dir=git://github.com/AArnott/dotnetopenid.git" show 93e76d5ff529b6c9921a984c3608c150ed4ee7a3
Run Code Online (Sandbox Code Playgroud)
当--git-dir参数是本地目录时,这可以正常工作,但是当它是一个远程位置时它会给我一个错误,例如:
致命:不是git存储库:'git://github.com/AArnott/dotnetopenid.git'
什么git命令将从远程URL位置下拉特定文件的特定版本?
我有一个单元测试,通过传入HttpRequestMessage实例和接收HttpResponseMessages实例来调用类库.这与ApiController在这方面测试WebApi非常相似.
我正在测试的代码添加了cookie HttpResponseMessage,并希望在后续的来电中看到这些cookie HttpRequestMessage,这就是浏览器(或HttpWebRequest)的行为方式.
我没有使用,HttpClientHandler因为请求实际上不是在网络上发送,而是使用HttpMessageHandler我初始化HttpClientwith 的模拟传递给产品.因此HttpClientHandler我无法访问cookie处理.似乎要获得我需要的cookie行为,我将不得不手动解析其中的cookie HttpResponseMessage,然后手动将它们序列化为HttpRequestMessage.这完全省略了CookieContainer正确应用cookie到正确请求的逻辑.
有没有更简单的方法?
我已经启动了PowerShell cmdlet,并想提供参数的帮助消息。我试过使用ParameterAttribute.HelpMessage这个:
[Cmdlet(VerbsCommon.Get, "Workspace", SupportsShouldProcess = true)]
public class GetWorkspace : PSCmdlet
{
[Parameter(
Mandatory = true,
Position = 1,
HelpMessage = "The path to the root directory of the workspace.")]
public string Path { get; set; }
protected override void ProcessRecord()
{
base.ProcessRecord();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我使用PowerShell Get-Help命令时,它不会显示该参数的HelpMessage:
get-help Get-Workspace -det
NAME
Get-Workspace
SYNTAX
Get-Workspace [-Path] <string> [-WhatIf] [-Confirm] [<CommonParameters>]
PARAMETERS
-Confirm
-Path <string>
-WhatIf
<CommonParameters>
This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, …Run Code Online (Sandbox Code Playgroud) 我正在运行 ASP.NET Core 2.1 webapi,它正在侦听 Web 套接字请求。我想return this.BadRequest()请求是否不是 WebSocket 升级。
[Route("api/[controller]")]
[ApiController]
public class SocketController : ControllerBase
{
[HttpGet]
public async Task<IActionResult> Post()
{
if (!this.HttpContext.WebSockets.IsWebSocketRequest)
return this.BadRequest();
using (var webSocket = await this.HttpContext.WebSockets.AcceptWebSocketAsync())
{
using (var jsonRpc = new JsonRpc(new WebSocketMessageHandler(webSocket)))
{
jsonRpc.AddLocalRpcTarget(new SocketServer());
jsonRpc.StartListening();
await jsonRpc.Completion;
}
}
return this.Ok();
}
}
Run Code Online (Sandbox Code Playgroud)
但无论走成功路径还是失败路径,服务器都会抛出异常:
失败:Microsoft.AspNetCore.Server.Kestrel[13] 连接 ID“0HLEM87126JEO”,请求 ID“0HLEM87126JEO:00000001”:应用程序引发了未处理的异常。System.InvalidOperationException:无法设置 StatusCode,因为响应已开始。在 Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ThrowResponseAlreadyStartedException(字符串值) 在 Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.set_StatusCode(Int32 值) 在 Microsoft.AspNetCore.Server .Kestrel.Core.Internal.Http.HttpProtocol.Microsoft.AspNetCore.Http.Features.IHttpResponseFeature.set_StatusCode(Int32 值)在 Microsoft.AspNetCore.Http.Internal.DefaultHttpResponse.set_StatusCode(Int32 值)在 Microsoft.AspNetCore.Mvc.StatusCodeResult .ExecuteResult(ActionContext 上下文)位于 Microsoft.AspNetCore.Mvc.ActionResult.ExecuteResultAsync(ActionContext 上下文)位于 Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeResultAsync(IActionResult 结果)位于 Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResultFilterAsyncTFilter、TFilterAsync在 …
我有一个主要在后台运行的应用程序.我希望它处理的某些系统事件会导致应用程序从前台应用程序窃取焦点,无论是什么.但UIElement.Focus()似乎只在WPF应用程序中设置焦点.也就是说,如果WPF应用程序已经将焦点作为一个整体,那么Focus()会将焦点设置为正确的控件.但我需要从另一个应用程序中窃取焦点并将其放在我的应用程序上.我怎样才能做到这一点?
我不想要系统模态对话框.也就是说,在窗口窃取焦点之后,用户应该可以立即切换到另一个应用程序而不会关闭我的应用程序窗口.
当需要窃取系统焦点时,应用程序可能已经处于恢复,最小化或甚至"最小化到托盘"状态.因此,假设它被最小化并且在恢复窗口时偷走焦点是不可接受的.
我有log4net记录器配置为使用我的单元测试运行,但对于一些选择单元测试作为性能测试我想禁用日志记录.如何在运行时禁用(以及稍后重新启用)日志记录,基本上覆盖了.config文件中的记录器设置?
我喜欢新的MVC OpenID/OAuth登录功能,但我想知道如何添加新的登录按钮,例如我希望我的用户使用他们的StackExchange帐户登录或使用他们的OpenID URL与stackoverflow中的相同http:// puu.sh/13rm0
怎么做?是否有任何样品在步骤中显示?
c# ×2
git ×2
iframe ×2
.net ×1
asp.net-core ×1
cmdlet ×1
dom ×1
focus ×1
httpcookie ×1
javascript ×1
jquery ×1
jquery-ui ×1
log4net ×1
mocking ×1
oauth ×1
openid ×1
powershell ×1
unit-testing ×1
websocket ×1
wpf ×1