是否有一个简单可靠的解决方案来检测窗口垂直滚动条出现/消失?
window.onresize
在JavaScript DOM操作页面变得足够高以显示滚动条之后,不会触发.
在这个非常相似的帖子中检测一个页面是否有垂直滚动条描述的解决方案如何检测滚动条是否存在,但我需要知道它何时出现.
我们面临着让我们发疯的非常奇怪的问题.有时我们的文件共享PC上新创建的文件在一段时间内"缺席".要重现问题,你应该至少有两台电脑,叫他们alpha
和beta
.在beta
PC(\\beta\share\bug
)上创建文件共享并从alpha
PC 运行此PowerShell脚本:
param(
$sharePath="\\beta\share\bug"
)
$sharePC = ($sharePath -split '\\')[2]
$session = New-PSSession -ComputerName $sharePC
$counter = 0
while ($true) {
$fileName = $sharePath + "\$counter.txt"
Invoke-Command -Session $session -ScriptBlock {
param(
$fileName
)
"" > $fileName
} -ArgumentList $fileName
if (Test-Path $fileName) {
Write-Host "File $fileName exists" -fore Green
} else {
Write-Host "!!! File $fileName does NOT exist!" -fore Red
}
$counter = $counter + 1
Start-Sleep 2 …
Run Code Online (Sandbox Code Playgroud) 是否有简单的方法将字符串URL转换为RouteValueDictionary集合?有些方法可以UrlToRouteValueDictionary(string url)
.
我需要这样的方法,因为我想根据我的路由设置'解析'URL,修改一些路由值,并使用urlHelper.RouteUrl()根据修改的RouteValueDictionary集合生成字符串URL.
谢谢.
我在ASP.NET MVC网站中实现了错误处理,就像建议这篇文章一样.
404错误一切正常.但如何正确显示用户友好的屏幕401错误?它们通常不会抛出可在内部处理的异常,Application_Error()
而是返回HttpUnauthorizedResult.一种可能的方法是将以下代码添加到Application_EndRequest()
方法的末尾
if (Context.Response.StatusCode == 401)
{
throw new HttpException(401, "You are not authorised");
// or UserFriendlyErrorRedirect(new HttpException(401, "You are not authorised")), witout exception
}
Run Code Online (Sandbox Code Playgroud)
但在Application_EndRequest()
Context.Session == null中,errorController.Execute()
失败是因为它无法使用默认的TempDataProvider.
// Call target Controller and pass the routeData.
IController errorController = new ErrorController();
errorController.Execute(new RequestContext(
new HttpContextWrapper(Context), routeData)); // Additional information: The SessionStateTempDataProvider requires SessionState to be enabled.
Run Code Online (Sandbox Code Playgroud)
那么,您能否建议一些最佳实践如何在ASP.NET MVC应用程序中使用"用户友好句柄"401?
谢谢.
我们将 NUnit 测试执行从 TeamCity 迁移到 Azure DevOps。迄今为止最大的问题之一 - 无法看到绿色(通过)测试的控制台输出。DevOps 中是否真的缺少这个基本功能,或者我根本不知道去哪里找?
以下是查看失败测试的控制台输出的方法:
更新:在文档中有一个“提示”(https://docs.microsoft.com/en-us/azure/devops/pipelines/test/review-continuous-test-results-after-build?view=azure-开发运营):
如果您使用 Visual Studio 测试任务来运行测试,从测试(使用任何 Console.WriteLine、Trace.WriteLine 或 TestContext.WriteLine 方法)记录的诊断输出将显示为失败测试的附件。
文本明确指出“对于失败的测试”。看起来确实没有办法(没有简单的方法)看到非失败测试的控制台输出,这非常令人沮丧。
首先,我知道这lock{}
是合成糖Monitor
.(哦,语法糖)
我正在玩简单的多线程问题,并发现无法完全理解锁定一些任意WORD的内存如何保护整个其他内存不被缓存的是寄存器/ CPU缓存等.使用代码示例来解释我所说的更容易:
for (int i = 0; i < 100 * 1000 * 1000; ++i) {
ms_Sum += 1;
}
Run Code Online (Sandbox Code Playgroud)
最终ms_Sum
将包含100000000
哪些当然是预期的.
现在我们年龄将执行相同的周期,但在2个不同的线程上,上限减半.
for (int i = 0; i < 50 * 1000 * 1000; ++i) {
ms_Sum += 1;
}
Run Code Online (Sandbox Code Playgroud)
由于没有同步,我们得到了不正确的结果 - 在我的4核机器上,它几乎是随机数52 388 219
,略大于一半100 000 000
.如果我们奉上ms_Sum += 1;
的lock {}
,我们,事业,会得到完全正确的结果100 000 000
.但是,什么是对我感兴趣的(真正的说,我是期待一样的行为),加入lock
前,后ms_Sum += 1; …
<script>
1..z
</script>
Run Code Online (Sandbox Code Playgroud)
这不会产生语法或运行时错误.看起来数字和变量名称可以是任何其他(123..qwerty
).我想知道这句话是什么意思?
我有一些用Visual Basic编写的旧资源.有*.bas
,*.cls
,*.frm
和*.vbp
文件.据我了解,vbp
是一个项目文件.但我无法使用Visual Studio 2008打开它.
我应该安装什么版本的VS才能打开*.vbp
文件?Google表示它是Visual Studio 6,但我不确定,我找不到 Visual Studio 6进行下载.是否有任何公开免费版的Visual Studio 6 Visual Basic?
谢谢.
我有很多PowerShell脚本.一个主要的,称为其他的,儿童的.这些PS脚本依次调用windows CMD脚本,bash脚本和控制台应用程序.所有这些脚本和应用程序都将消息写入控制台 例如,PowerShell脚本正在使用Write-Host
scriptlet来实现此目的.
问题:如何轻松地将所有此控制台输出重定向(发送)到某个文件,而不是震耳欲聋(取消)此控制台输出?我希望能够从控制台输出中看到什么,还有日志文件中的消息历史记录.
谢谢.
我在Windows上有一个PyCharm 1.2.1.我必须编辑同一个项目的不同分支 - 有点重的分支,因为它们存在于磁盘上的不同文件夹中 - 说它是c:\apps\alpha
和c:\apps\beta
.对于每个这样的文件夹,应调整PYTHONPATH变量以指向位于项目根文件夹(c:\alpha\vendor
,...)内某处的相应供应商库.我设法通过从cmd批处理文件启动PyCharm解决了这个问题,该文件在启动PyCharm之前设置了必要的PYTHONPATH变量值(所以我有PyCharm.cmd
内部alpha
和PyCharm.cmd
内部beta
目录).
问题:当我打开PyCharm进行编辑beta
文件夹时,import
语句从alpha
文件夹导入模块!当我python.exe
从命令行启动解释器时,一切都按预期工作 - 问题似乎只有PyCharm.
第二个奇怪的调查:print sys.path
从PyCharm和外部python.exe解释器执行代码给出不同的结果 - 从PyCharm它不显示我的PYTHONPATH模块.我是Python和PyCharm的新手,但这种行为看起来很奇怪且不一致.
最后我发现PyCharm IDE中的一些设置似乎应该允许我解决这个问题 - File -> Settings -> Python Interpreter
.在那里,我找到了两个alpha
和beta
文件夹的所有路径.无法清除此路径列表,仅禁用某些元素.但即使是禁用也有点愚蠢 - 我应该在每次编辑alpha
或beta
"解决方案文件夹" 时单独禁用/重新启用它们.
最后一个问题:PyCharm如何编辑单独的项目(文件夹)并强制PyCharm不从错误的位置导入模块?
asp.net-mvc ×2
javascript ×2
azure-devops ×1
c# ×1
console ×1
handleerror ×1
import ×1
jquery ×1
locking ×1
powershell ×1
pycharm ×1
python ×1
pythonpath ×1
redirect ×1
resize ×1
scrollbar ×1
share ×1
smb ×1
vb6 ×1
windows ×1