小编Pet*_*lin的帖子

什么是".NET Core"?

最近在一个官方的.NET Framework博客中宣布.NET Core是开源的.具有讽刺意味的是,作者提到将在下一篇文章中解释什么 .NET Core.另一个宣布帖子中提到了更多细节.

从提供的图表:

.NET核心图

和文章本身,我会假设.NET Core(除了明显的东西,如开源)是完整的.NET的模块化重新实现.即框架组件在必要时加载,就像现在加载NuGet包一样.现在,ASP.NET 5是已经实现的模块之一.我对.NET Core的理解是否正确?也许我错过了什么?


我发现最近的文章我发现既短又非常好.它涵盖了.NET Standard,.NET Core和.NET Framework及其关系.强烈推荐它.

.net .net-core

303
推荐指数
9
解决办法
12万
查看次数

如何为IE编写插件

IE Developer Toolbar是一个可以与浏览器对接或分离的插件.我理解在IE中比在Firefox中更难做到这一点.

  • 如何创建IE插件?
  • 有哪些语言可用于此任务?
  • 如何制作Hello World插件?

plugins internet-explorer ieaddon

21
推荐指数
2
解决办法
2万
查看次数

Grails将日期时间保存为UTC时间,但将其作为本地服务器时间读取?

我的Grails应用程序中有以下行将默认时区设置为UTC:

TimeZone.setDefault(TimeZone.getTimeZone("UTC"))
Run Code Online (Sandbox Code Playgroud)

我有一个Audit带有dateCreated字段的实体:

class Audit {
    Date dateCreated
    String message
}
Run Code Online (Sandbox Code Playgroud)

然后我创建并保存它的一个实例:

def audit = new Audit(message: "Testing audit message")
Run Code Online (Sandbox Code Playgroud)

这会将其作为UTC时间正确保存到我的数据库中.但是,当我尝试阅读它时:

audit = Audit.get(1)
Run Code Online (Sandbox Code Playgroud)

时间戳将作为本地时间回读.因此,如果我的时区是+1 UTC并且当前本地时间是BST的12:34:56,那么将保存到数据库的是11:34:56,但是当我读回它时,它变为11:34:56 BST.有没有人知道如何解决这个问题,以便Grails将时间戳读回UTC并相应地转换它?

java grails timezone datetime grails-2.0

14
推荐指数
1
解决办法
8588
查看次数

使用utf-8的opencsv CSVWriter似乎不适用于多种语言

我使用opencsv有一个非常烦人的编码问题.当我导出csv文件时,我将字符类型设置为'UTF-8'.

CSVWriter writer = new CSVWriter(new OutputStreamWriter("D:/test.csv", "UTF-8"));
Run Code Online (Sandbox Code Playgroud)

但是当我用Microsoft Office Excel 2007打开csv文件时,它发现它有'UTF-8 BOM'编码?

一旦我将文件保存在记事本中并重新打开,文件将返回UTF-8并且其中的所有字母都显示正常.我想我已经搜索得足够多了,但我没有找到任何解决方案来防止我的文件变成'UTF-8 BOM'.有什么想法吗?

java unicode utf-8 opencsv

11
推荐指数
1
解决办法
2万
查看次数

矩形阵列物理内存顺序

在C中,在数组中说A[2][3]最右边的索引更改导致最小的内存地址移位,即元素位于内存中A[0][0], A[0][1]...

.NET中的矩形数组是否也是如此?如果我们有,比如数组a[2, 3]是位于内存中的元素a[0, 0], a[0, 1]...吗?

.net memory arrays multidimensional-array

11
推荐指数
1
解决办法
2649
查看次数

我应该使用什么gacutil.exe?

因此,在Win 2008 R2 Std x64上,我有6(6)个gacutil.exe所有不同(不包括VS文件夹中的那些),在:

  1. c:\ Program Files\Microsoft SDKs\Windows\v6.0A\Bin
  2. c:\ Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64
  3. c:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Bin
  4. c:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Bin\x64
  5. c:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools
  6. c:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64

问题是:

  1. 是否x64版本有任何行为上的差异?
  2. 我应该更喜欢v7.0A其他版本v6.0A吗?
  3. 我应该使用NETFX 4.0 Tools.NET 4.0程序集的版本,还有其他的"标准"版本?

或者,如果有关于这个主题的一般类型的文章,我将不胜感激.

更新1.关于Hans Passant的回答:

  1. gacutil.exe "构建,部署和配置工具(.NET Framework)"中的.NET Framework工具的一部分,因为现在过时(!)shfusion.dll是;
  2. 确实v6.0A来自VS2008安装,可以忽略(1,2);
  3. 64位解释理论听起来也合理.我还认为很可能是一个IA64版本的gacutil.exe,所以它就像是"每个平台的工具副本",它刚刚发生,所以x86版本因为WoW64而无处不在.列表中的减号2 gacutil版本(4,6);
  4. 关于使用哪个版本的部分似乎是错误的.V4.0 gacutil.exe根据它的目标CLR检测并放置程序集,适用于.NET 4.0和早期版本程序集.所以问题是,为什么要离开V2.0 gacutil.exe?我的猜测是为了在.NET4.0不可用的环境中进行部署.
  5. 使用或不使用GAC,不在问题中.所以我留下最后一段没有评论.

更新2.

所以,对我来说,似乎可以安全地使用3号(然后.NET4.0不可用)或5号,否则对于Windows x86和x64上的所有GAC操作.问题的答案是: …

.net windows gac gacutil .net-4.0

10
推荐指数
2
解决办法
9687
查看次数

倒置的FilesMatch?

我正在为文件设置缓存控制标头.我想设置max-age=86400为所有.css.js,并max-age=3600为所有其他人.

<FilesMatch "\.(css|js)$">
    Header append Cache-Control max-age=86400
</FilesMatch>

<FilesMatch "???">
    Header append Cache-Control max-age=3600
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚我应该写什么正则表达式来反转\.(css|js)$匹配.或者也许有其他方法可以做到这一点?

更新.根据这个问题的答案,我找到了有效的解决方案:

<FilesMatch "(?<!\.css|\.js)$">
    Header append Cache-Control max-age=3600
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

不幸的是找不到将点留\.在括号外的方法.但这个解决方案仍然适合我.

作为旁注,所有其他文件包括完全没有文件名的文件,例如http://example.com/.

regex .htaccess

10
推荐指数
1
解决办法
7929
查看次数

HtmlAgilityPack:如何创建缩进的HTML?

所以,我使用HtmlAgilityPack生成html并且它工作正常,但是html文本没有缩进.我可以得到缩进的XML,但我需要HTML.有办法吗?

HtmlDocument doc = new HtmlDocument();

// gen html
HtmlNode table = doc.CreateElement("table");
table.Attributes.Add("class", "tableClass");
HtmlNode tr = doc.CreateElement("tr");
table.ChildNodes.Append(tr);
HtmlNode td = doc.CreateElement("td");
td.InnerHtml = "&mdash;";
tr.ChildNodes.Append(td);

// write text, no indent :(
using(StreamWriter sw = new StreamWriter("table.html"))
{
        table.WriteTo(sw);
}

// write xml, nicely indented but it's XML!
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.Indent = true;
settings.ConformanceLevel = ConformanceLevel.Fragment;
using (XmlWriter xw = XmlTextWriter.Create("table.xml", settings))
{
        table.WriteTo(xw);
}
Run Code Online (Sandbox Code Playgroud)

c# html-generation html-agility-pack

8
推荐指数
3
解决办法
1万
查看次数

设计困境:谁应该处理一次性参数?

如果我的类在它的构造函数使用一次性资源(DbConnection如果它的问题)我应该落实IDisposable在我的课和处置DbConnection对象,或者让用户处理处置的DbConnection

目前,我在我的课实现IDisposable,但现在我看到一些可能的负面影响:杂波一流的设计,双处置DbConnection如果使用不当.但也有积极的一面:简化使用是主要的(特别是如果你使用多个一次性参数).

在"狂野"我看到两种方法,所以我无法决定..

更新: 感谢大家的回答,事实上,这表明它有时候确实不是一个简单的选择.并且很难选择正确的答案.但是我决定坚持将来最简单的一个.所以最终的选择是:不要实现IDisposable.

.net class-design idisposable

8
推荐指数
1
解决办法
355
查看次数

如何针对不同的屏幕尺寸编写不同的HTML

我理解如何通过媒体查询更改CSS(例如media ="screen and(max-width:640px)")

但是我想说我想写(仅举例)

<div>
[if screen resolution is lower then 960 px]
    <div>
    some new text only for lower resolution
    </div>
[end of condition]
</div>
Run Code Online (Sandbox Code Playgroud)

为了做到这一点,我需要写什么条件?

html css mobile screen-resolution responsive-design

8
推荐指数
3
解决办法
3万
查看次数