我正在Linux Fedora环境中尝试新的Microsoft Visual Studio代码编辑器.我想知道如何替换新行(\n)代替其他文本.
例如,我有像这样的HTML文本
<tag><tag>
Run Code Online (Sandbox Code Playgroud)
我想替换为
<tag>
<tag>
Run Code Online (Sandbox Code Playgroud)
在崇高中我将使用正则表达式模式并找到"> <"并替换为"> \n <"如何在Visual Studio代码中完成此操作?
我一直在服务器上研究IIS 7.5中的W3C格式日志文件一段时间在性能问题上,在我看来,与MSDN文档相反,"时间"字段不是
"以协调世界时(UTC)发出请求的时间"
......而是响应完成发送的时间.
我这样说是因为当我在一个有点受控制的环境中跟踪来自用户的页面请求序列时,他们必须及时返回以提交下一个请求,否则他们能够以惊人的快速提交他们对页面的请求.带有大量时间输入的页面.
例如(为了安全性和清晰度,我正在编辑,缩写和省略):
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip sc-status sc-substatus sc-win32-status time-taken
2012-11-28 22:25:17 192.168.0.21 GET /Main.aspx - 80 AWalker 192.168.0.100 200 0 0 764
2012-11-28 22:25:26 192.168.0.21 POST /Main.aspx - 80 AWalker 192.168.0.100 200 0 0 109
2012-11-28 22:25:56 192.168.0.21 GET /_Start.aspx - 80 AWalker 192.168.0.100 302 0 0 28782
2012-11-28 22:26:33 192.168.0.21 GET /Action.aspx - 80 AWalker 192.168.0.100 200 0 0 38032
2012-11-28 22:26:46 192.168.0.21 POST /Action.aspx …
Run Code Online (Sandbox Code Playgroud) 在VS 2013上,我无法让这个异步测试失败.
我有xUnit 1.8.0.1539(从nuget安装),xUnit Test Runner VS扩展(0.99.5).目前所有的AFAIK.
我碰巧在单元测试中也有Moq,AutoFixture和FluentAssertions引用,但我认为不重要(但我承认它以防万一).
我已经在我的解决方案的其他方面完成了异步单元测试,并且它们可以工作.
我错过了这些新创建的测试,我不知道我错过了什么或做错了什么.
注意 SUT代码并不完整.在我编写代码以使测试变为绿色之前,我只是想先获得红灯.
这是测试代码:
using System.Threading.Tasks;
using FluentAssertions;
using Xunit;
namespace MobileApp.Proxy.Test
{
public class WhenRetrievingPriceDataFromClient
{
[Fact]
public async Task GroupReportIsReturnedWithSomeData()
{
// arrange
var sut = new Client();
// act
var actual = await sut.GetReportGroupAsync();
// assert
// Xunit test
Assert.Null(actual);
Assert.NotNull(actual);
// FluentAssertions
actual.Should().BeNull();
actual.Should().NotBeNull();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是SUT代码:
using System;
using System.Diagnostics;
using System.Net.Http;
using System.Threading.Tasks;
using MobileApp.Proxy.Properties;
namespace MobileApp.Proxy
{
public class Client
{
public async …
Run Code Online (Sandbox Code Playgroud) VS 2005,C#2.0,.NET 2.0/3.0,Win2003
我正在尝试为MultiInstance安装一组性能计数器.我注意到,即使没有其他实例,某些系统性能计数器类别也会设置为" 总 "存活.ASP.NET Apps 2.0.50727就是一个例子.
所以我一直试图复制这个.我在Installer类中创建了以下例程,然后将其添加到安装项目中的自定义操作.
public override void Install(System.Collections.IDictionary stateSaver)
{
//Debugger.Break();
CounterCreationData data = new CounterCreationData("ZCounter", "ZCtrHelp", PerformanceCounterType.NumberOfItems32);
PerformanceCounterCategory.Create("ZCategory", "ZCatHelp", PerformanceCounterCategoryType.MultiInstance, new CounterCreationDataCollection(new CounterCreationData[] { data }));
PerformanceCounter counter = new PerformanceCounter();
counter.CategoryName = "ZCategory";
counter.CounterName = "ZCounter";
counter.InstanceName = "ZTotal";
counter.InstanceLifetime = PerformanceCounterInstanceLifetime.Global;
counter.ReadOnly = false;
counter.RawValue = 0;
base.Install(stateSaver);
}
Run Code Online (Sandbox Code Playgroud)
如果我取消注释该Debugger.Break()
行,并逐步执行,我可以看到计数器实际上是使用正确的实例名称创建的,并且Visual Studio Server Explorer显示实例以及InstanceLifetime设置为Global.我没有在安装程序中调用RemoveInstance()方法.
然而,在安装程序完成几秒钟后,该实例将从性能监视器和VS Server Explorer中消失.我该怎么做才能坚持下去?或者我可以吗?
我们(通常)通过Azure通知中心成功实现了对iOS和Android设备的推送通知.
问题是某些iOS设备显然从未接收Azure通知中心发送的通知.
我们使用模板和标签将消息定向到适当的设备.标签是兴趣主题,从不特定于用户,因此我们期望将标签的一个通知推送到订阅该标签的所有设备.
Android设备似乎完美无瑕地收到通知,但iOS设备并不一致.大多数都有效.一对夫妇没有.
我们非常清楚推送通知是尽最大努力提供的,并且不能保证可靠性,但是我们的有限测试显示更多设备始终无法接收推送通知而不是不合理(来自大约12个设备的两次以上故障).
这是设置:
我们在后端有一个简单的C#例程,它连接到Azure通知中心并向Azure发送通知:
var outcome = await hub.SendTemplateNotificationAsync(properties, tag);
Run Code Online (Sandbox Code Playgroud)
我们使用该GetAllRegistrationsAsync
方法确保我们检查的每个设备都已成功注册并使用正确的模板.每个设备都已注册,所有模板都是正确的.
我们不处于"测试模式"; 该enableTestSend
参数NotificationHubClient.CreateClientFromConnectionString
设置为False.
故障排除:
当我们发送通知时,大多数设备会收到通知,并且在我们正在测试的特定情况下,使用正确的号码更新徽章计数器.
但是,有几个设备似乎没有收到通知.其中一台设备在重新启动设备后确实收到了通知,但之后停止了.
使用上述GetAllRegistrationsAsync
方法,我们已验证问题设备已在Azure上正确注册并具有正确的标记和模板.
我们能够从Azure注册中确定问题设备的设备令牌.我们使用了一个PHP脚本,它直接与APNS通信,使用他们的设备令牌向问题设备发送通知.每次设备都会收到此直接发送通知.这只是来自Azure的通知是不可靠的.
当我们检查Azure Notification Hub Monitor页面时,我们会在过去24小时内看到这些指标:
...并且没有报告APNS或Azure的其他错误.我们看到的失败率应该产生超过20的错误数.
我们无法确定哪些设备令牌对错误负责; 有没有办法从Azure获取此信息?
我们无法解释为什么我们可以通过APNS本身直接向这些设备发送通知,但不能通过Azure发送通知,以及为什么Azure不会报告比它更多的错误.
有什么建议或见解吗?
azure push-notification apple-push-notifications ios azure-notificationhub
我有一个PowerShell功能Sort-VersionLabels
.当我将此函数添加到模块时,Import-Module会抱怨:
WARNING: Some imported command names include unapproved verbs which might make
them less discoverable. Use the Verbose parameter for more detail or type
Get-Verb to see the list of approved verbs.
Run Code Online (Sandbox Code Playgroud)
根据此,排序是"保留动词".
什么可能是一个好的(和批准的)替代品?
更新
该函数采用以下形式的版本号数组:<major>.<minor>.<revision>[-<milestone[nr]>]
.里程碑可以是dev
,alpha
,beta
或stable
(以该顺序).因此标准的Sort-Object功能不起作用.
它将排序的数组输出到管道线.
在我的REST API中,其中一个提交的参数值必须是正则表达式后面的代码:
/[A-Z]{2}[0-9]{4}/
除了把它放在description
参数的属性中之外,还有什么办法让我指出如果它与我的正则表达式不匹配则该值无效?
我没有在Swagger文档中找到任何关于正则表达式的提及,除了作为识别图案化字段的方法(这不是我想要做的).
我正在开发一个需要在大型浏览器中运行的Umbraco站点,包括IE 11,我遇到了一个奇怪的问题,我只能在IE 11上复制.
在某些时候,TinyMCE插件的脚本会尝试执行此代码(大约四个深度调用)以响应blur
事件:
function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)\\s*"); }
Run Code Online (Sandbox Code Playgroud)
并且它在尝试创建RegExp对象时抛出"对象不支持此操作"异常.cls
已定义并具有我期望的值.
在未处理的异常上暂停(使用Visual Studio调试器)时,我做了一些检查.
原来那RegExp
是undefined
.我发现这非常奇怪.
更多的调查显示所有内置对象都未定义.数字,数组,对象,数学...所有这些.此外,虽然我可以枚举全局键,但所有值都是未定义的.
Weirder,我可以在有问题的范围内使用控制台或立即执行窗口,通过使用/pattern/
语法创建正则表达式对象.
但是这种情况仅在事件处理程序的范围内才是真实的.一旦事件处理程序退出,就会恢复所有内置对象和全局变量值.
如何在不失去对基本JavaScript解析器和引擎的访问权限的情况下,如何失去对内置JavaScript对象的访问权限?
而且,一旦丢失,是否有可能恢复它们?
如何在VS2013 x64项目中使用"发布期间预编译"标志?无论我做什么,它都无法发布,因为它坚持使用x86 ASPNETCOMPILER.
我想我曾经在VS2012中使用它,但升级到VS2013之后就不再有效了.
我记得修改涉及更改与之相关的文本文件,MSBuild
但老实说我不太了解它,所以它有点朦胧.
任何帮助是极大的赞赏.谢谢!
我试图尽可能严格地遵守 Microsoft 的 Powershell 开发指南和最佳实践,但在导入自定义模块时收到警告:
WARNING: The names of some imported commands from the module 'F5Helper' include unapproved verbs that might make them less discoverable.
To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved verbs, type Get-Verb.
VERBOSE: The 'Create-iRule' command in the F5Helper' module was imported, but because its name does not include an approved verb, it might be difficult to find.
The suggested alternative verbs are …
Run Code Online (Sandbox Code Playgroud) 我有一个来自 EF6(数据库优先)的复杂图表,我想在测试域模型时使用模拟和测试装置进行模拟。为了防止循环依赖问题,我将这些行添加到测试设置中:
private Fixture _fixture;
public WhenRetrievingPlans()
{
_fixture = new Fixture();
_fixture.Behaviors.OfType<ThrowingRecursionBehavior>().ToList()
.ForEach(b => _fixture.Behaviors.Remove(b));
_fixture.Behaviors.Add(new OmitOnRecursionBehavior());
using (var writer = new StreamWriter(@"D:\Workspace\Project\source\Project.Model.Test\trace.txt"))
{
_fixture.Behaviors.Add(new TracingBehavior(writer));
Run Code Online (Sandbox Code Playgroud)
然后我尝试阻止夹具尝试将对象图追至遗忘,并创建一个没有任何子对象的简单对象,如下所示:
_fixture.Build<EntityType>()
.Without(e => e.ObjectProperty1)
.Without(e => e.ObjectProperty2)
.Without(e => e.CollectionProperty3)
.Without(e => e.CollectionProperty4)
.Without(e => e.ObjectProperty5)
...
.Create();
Run Code Online (Sandbox Code Playgroud)
这样就不会创建作为此 EntityType 属性的对象或集合。其余属性是简单类型,包括一些 Nullable 和 DateTime 值以及 Int32 和 String 类型。
我想让 AutoFixture 创建 EntityType 的实例,然后我计划从模拟返回该实例。(这可能不相关。)
var entitiesDbSetMock = new Mock<IDbSet<EntityType>>();
entitiesDbSetMock.SetupAllProperties();
_fixture.Inject<IDbSet<EntityType>>(entitiesDbSetMock.Object);
Run Code Online (Sandbox Code Playgroud)
然后我将对象添加到这个 Mock 中:
var entity = _fixture.Create<EntityType>();
entitiesDbSetMock.Object.Attach(entity);
Run Code Online (Sandbox Code Playgroud)
问题是这样的:AutoFixture 并没有阻止自己生成可以从此 EntityType …
c# ×3
powershell ×2
.net ×1
asp.net ×1
asynchronous ×1
autofixture ×1
azure ×1
iis ×1
iis-7.5 ×1
installation ×1
ios ×1
javascript ×1
logging ×1
msbuild ×1
swagger ×1
tdd ×1
unit-testing ×1
w3c ×1
windows ×1
xunit.net ×1