下面的代码片段从文件列表中检测到哪些文件是Ftp上的目录
作为C#,它将如下所示
var files = new List<string>(){"App_Data", "bin", "Content"};
var line = "drwxr-xr-x 1 ftp ftp 0 Mar 18 22:41 App_Data"
var dir = files.First(x => line.EndsWith(x));
Run Code Online (Sandbox Code Playgroud)
我如何在PowerShell中转换最后一行?
application/x-www-form-urlencoded string的例子
CorrelationId=1&PickedNumbers%5B%5D=1&PickedNumbers%5B%5D=2&PickedNumbers%5B%5D=3&PickedNumbers%5B%5D=4
Run Code Online (Sandbox Code Playgroud)
进入JSON
var gamePlayData = {
CorrelationId: gameId,
PickedNumbers: ["1","2","3","4"]
};
Run Code Online (Sandbox Code Playgroud) 意图:
a)我希望我的日志按照以下文件格式yyyy-MM-dd.txt按日期滚动.
b)除此之外,我想删除超出maxSizeRollBackups范围的旧文件.
Run Code Online (Sandbox Code Playgroud)CAUTION A maximum number of backup files when rolling on date/time boundaries is not supported. [RollingFileAppender spec][1]
解
对于a)足以进行配置
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logs\" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<maxSizeRollBackups value="30" />
<datePattern value="yyyy-MM-dd'.txt'" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.XmlLayoutSchemaLog4j"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appender>
Run Code Online (Sandbox Code Playgroud)
for b)RollingFileAppender +删除东西的继承是实现这个目的的唯一方法吗?
作为练习,我试图找到一个实现竞争消费者的例子.
许多生产者 - > MSMQueue < - 竞争消费者
到目前为止,我没有找到任何关于如何实现这一目标的文档.我首次尝试弄清楚如何在MassTransit或NServiceBus中实现如何实现多层间接.
任何帮助将不胜感激.
有什么方法可以生成新操作并查看现有控制器?我试图对现有的控制器进行跟踪
$ script/rails生成控制器帖子视图
其中view是我要添加到控制器的新操作.我知道手工完成它是微不足道的,但我想知道的是我不知道的事情或者我梦想的事情.
谢谢--rr
在WCF中你有这样的东西
[ServiceContract]
public interface IDoAuditService
{
[OperationContract(IsOneWay = true)]
[WebInvoke]
void Audit(AuditEntry auditEntry);
}
Run Code Online (Sandbox Code Playgroud)
因此,这将允许消费者发出请求并继续流程而无需等待响应.
我已经尝试使用AsyncController进行Asp.net MVC,但消费者仍然会阻塞并等待,直到在控制器中调用回调.
我想要的是使用Asp.Net MVC但行为WCF喜欢,我想发出请求并继续流程而不等待处理请求
我有以下服务
public class AppService : AsyncServiceBase<EvaluateStock>
{
public IBus Bus { get; set; }
public override object ExecuteAsync(EvaluateStock request)
{
// this will block the incoming http request
// unitl task is completed
// long computation
// Bus.Publish(result)
}
}
Run Code Online (Sandbox Code Playgroud)
它被不同的消费者跟随
POST
http://srv1/app/json/asynconeway/EvaluateStock
Run Code Online (Sandbox Code Playgroud)
使用asynconeway我假设它将允许我实现火灾并忘记WCF与IsOneWay一起使用.但似乎并非如此.
我错过了什么吗?
我希望通过以下测试强制执行我的代码库不可变规则
[TestFixture]
public class TestEntityIf
{
[Test]
public void IsImmutable()
{
var setterCount =
(from s in typeof (Entity).GetProperties(BindingFlags.Public | BindingFlags.Instance)
where s.CanWrite
select s)
.Count();
Assert.That(setterCount == 0, Is.True, "Immutable rule is broken");
}
}
Run Code Online (Sandbox Code Playgroud)
它通过:
public class Entity
{
private int ID1;
public int ID
{
get { return ID1; }
}
}
Run Code Online (Sandbox Code Playgroud)
但不是为了这个:
public class Entity
{
public int ID { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
这里有一个问题"WTF?"
这是XAML标记.我正在尝试默认隐藏"工具"窗格.我在教程中看到过这样的东西:Command ="ad:DockableContentCommands.ToggleAutoHide".
<ad:DockingManager Name="dockingManager">
<ad:ResizingPanel Orientation="Horizontal" >
<ad:ResizingPanel Orientation="Vertical">
<ad:DockablePane>
<ad:DockableContent Title="Events">
....
</ad:DockableContent>
</ad:DockablePane>
</ad:ResizingPanel>
<ad:ResizingPanel Orientation="Horizontal" >
<ad:DockablePane Name="tools" >
<ad:DockableContent Name ="search" > ... </ad:DockableContent>
<ad:DockableContent Name ="results" > ... </ad:DockableContent>
</ad:DockablePane>
</ad:ResizingPanel>
</ad:ResizingPanel>
</ad:DockingManager>
Run Code Online (Sandbox Code Playgroud)
如何在标记或代码中默认隐藏/切换DockingPane?
谢谢RR
当前方法是后期操作,构造命令并将其放在总线上.我不喜欢的部分是ModelHelper.Trim,见下文.
[ValidationActionFilter]
public void Post([FromBody]CompanyFormModel company)
{
var newCompany = new NewCompany
{
Id = id,
Name = ModelHelper.Trim(company.Name),
Description = ModelHelper.Trim(company.Description),
Sector = ModelHelper.Trim(company.Sector),
};
_bus.Send(newCompany);
}
Run Code Online (Sandbox Code Playgroud)
该ModelHelper.Trim正在检查该字段为字符串,如果不为空做装饰.有任何方法可以将其作为所有帖子和看跌期权的重要关注点.
试图在Formatters.JsonFormatter.SerializerSettings.Converters中注册一个TrimmingConverter ......但似乎不起作用.
知道如何以非侵入方式解决这个问题吗?
这个函数返回1210而不是385,为什么?
public int CalcSquaresSum() {
int sumOfSquares = 0;
List<Func<int>> functions = new List<Func<int>>();
for (int i = 1; i <= 10; i++) {
functions.Add(() => i * i);
}
foreach (var function in functions) {
sumOfSquares += function(); // why function() is always 121
}
return sumOfSquares;
}
Run Code Online (Sandbox Code Playgroud) 上下文我想通过反射来调用此函数
instanceOfEventPublisher.Publish<T>(T eventInst);
我打电话的时候
`private void GenCall(IEventPublisher eventPublisher,object theEventObj){
var thePublisher = eventPublisher.GetType();
thePublisher.InvokeMember(
"Publish",
BindingFlags.Default | BindingFlags.InvokeMethod,
null,
eventPublisher,
new object[] {theEventObj}
);
}
Run Code Online (Sandbox Code Playgroud)
`
我得到:System.MissingMethodException:找不到方法'EventAggregator.EventPublisher.Publish'.
如何调用通用?
c# ×3
asp.net ×2
lambda ×2
reflection ×2
.net ×1
asp.net-mvc ×1
avalondock ×1
generics ×1
javascript ×1
json ×1
linq ×1
log4net ×1
masstransit ×1
messaging ×1
msmq ×1
nservicebus ×1
powershell ×1
properties ×1
ruby ×1
scaffolding ×1
servicestack ×1
wcf ×1
wcf-client ×1
wpf ×1