我有一个IEnumerable.我有一个自定义的Interval类,里面只有两个DateTimes.我想将IEnumerable转换为IEnumerable,其中n个DateTimes将枚举为n-1个间隔.
因此,如果我将1月1日,2月1日和3月1日作为DateTime,那么我想要两个时间间隔,1月1日/ 2月1日和2月1日/ 3月1日.
是否存在执行此操作的现有C#Linq函数.像下面的相关内容......
IEnumerable<Interval> intervals = dttms.Correlate<DateTime, Interval>((dttm1, dttm2) => new Interval(dttm1, dttm2));
Run Code Online (Sandbox Code Playgroud)
如果不是,我会自己滚动.
我有一个当前的构建过程,它使用MSBuild进行.NET构建,然后我最终得到所有项目DLL/EXE和第三方DLL在同一目录中的子目录中的一些资源.
我想把这个包打包成一个MSI.我环顾四周,找到了WiX并且它没有任何可用的任务.但是,似乎我需要维护一个.wxs文件,其中包含对DLL完整列表的引用.我真的想避免手动维护这个文件或任何其他文件.
实际上我有许多使用共享构建脚本的项目,因此每个项目都以一致的方式构建.因此,我希望MSI步骤自动化,否则每个项目都必须使用当前DLL列表+任何资源文件维护.wxs文件.
是否可以使用WiX或其他任何工具,我可以将它指向一个目录并让它打包每个文件/子目录而不需要配置文件?
我有一段代码需要重复计算以下内容......
double consumption = minConsumption + ( Math.random() * ( ( maxConsumption - minConsumption ) + 1 ) );
currentReading = currentReading.add( BigDecimal.valueOf( consumption ) ).setScale( 2, RoundingMode.HALF_EVEN ).stripTrailingZeros();
Run Code Online (Sandbox Code Playgroud)
这用于生成用于测试的随机信息.它看起来比我预期的要慢,我发现缓慢的部分是BigDecimal.valueOf( consumption )因为Double.toString()内部发生的呼叫而缓慢.
总体要求是生成在最小值和最大值之间随机的消耗值.然后将其添加到currentReading以获取新的读数.
有什么方法可以改善这个性能吗?也许通过避免双 - > BigDecimal转换.我需要将结果作为BigDecimal,但我不介意在此之前如何进行随机计算.
REST最佳实践的一部分是利用响应中的链接以允许客户端从一个实体导航到另一个实体.
例如,如果我有一个具有子帐户的客户对象类型.如果我要求客户使用,/customers/1那么我可能会提供以下回复
{
"self": "http://localhost:43002/rest/v1/customers/1",
"id": 1,
"name": "Isabella Button",
"number": "000001",
"forename": "Isabella",
"surname": "Button",
"accounts": [
{
"self": "http://localhost:43002/rest/v1/accounts/1",
"id": 1,
"name": "Main Account",
"number": "000001",
"currency": "GBP",
"fromDate": "2013-01-01",
"toDate": "9999-01-01",
"createdDttm": "2013-01-01T00:00:00.000"
}
]
}
Run Code Online (Sandbox Code Playgroud)
请注意,self酒店保留了链接.
但是,假设我不想在客户查询中返回帐户,也许帐户数量可能非常大,所以我不想在默认情况下返回它们.
{
"self": "http://localhost:43002/rest/v1/customers/1",
"id": 1,
"name": "Isabella Button",
"number": "000001",
"forename": "Isabella",
"surname": "Button"
}
Run Code Online (Sandbox Code Playgroud)
客户帐户的资源URL可以是 /customers/1/accounts
但是,客户响应高于客户端将无法发现/customers/1/accounts链接.
是否有最佳做法在响应中提供指向返回资源的"子"集合的超链接?
我知道 HTTP 请求将导致带有代码和可选正文的响应。
如果我们将请求的发起者称为“客户端”,而将请求的接收者称为“服务器”。
那么顺序是
服务器是否有可能完成第 3 步但第 4 步没有发生(由于连接断开、应用程序错误等)。
换句话说:服务器是否有可能“相信”客户端应该收到响应,但客户端由于某种原因没有收到?
最近,我调试了使用SslStream的性能问题。
客户端是C#/。NET,并且具有以下Stream配置
在通过互联网从客户端向服务器发送数据时,我看到了极其慢的性能,而在互联网上花费大量时间在客户端上序列化信息。
删除SSL流,连接速度加快到预期的水平。
然后我将上面的流配置更改为..
连接速度加快到预期水平。
有人可以解释为什么更改流配置对性能有很大帮助吗?特别是当我在与运行服务器的服务器相同的机器上测试了客户端的原始配置时?
c# ×2
java ×2
performance ×2
.net ×1
bigdecimal ×1
buffer ×1
children ×1
collections ×1
http ×1
linq ×1
nant ×1
rest ×1
ssl ×1
url-design ×1
value-of ×1
wix ×1