使用Visual Studio,在连接到Process并按Pause(Break-All)后,切换到所需的线程并使用Quick Watch窗口检查一些数据,比如说
MySingletonClass.Instance.Data
Run Code Online (Sandbox Code Playgroud)
有时候我得到这个:
无法计算表达式,因为当前线程处于休眠,等待或加入状态
或者这个(当试图查看数据的某些属性时):
无法计算表达式,因为本机帧位于调用堆栈的顶部.
坦白说,我不在乎,我只是想看看数据!我知道有各种方法来解决这个问题,即:
如果你可能会使用windbg,你可以看到这些数据为什么我们都无法利用更简单,更漂亮的VS来连接到一个进程时检查对象?
如何使用makecert"使用者替代名称"字段创建证书?

您可以使用-eku选项添加一些字段,例如"增强型密钥用法",我尝试了-san选项,但makecert不喜欢它.
这是一个自签名证书,因此任何使用IIS创建要发送给CA的内容的方法都不合适.
使用protobuf-net.dll版本1.0.0.280
当我反序列化DateTime(包裹在一个对象中)时,日期/时间是可以的,但DateTime.Kind属性是'未指定'
考虑这个测试用例来序列化/反序列化DateTime.
[TestMethod]
public void TestDateTimeSerialization()
{
var obj = new DateTimeWrapper {Date = DateTime.UtcNow};
obj.Date = DateTime.SpecifyKind(obj.Date, DateTimeKind.Utc);
var serialized = obj.SerializeProto();
var deserialized = serialized.DeserializeProto<DateTimeWrapper>();
Assert.AreEqual(DateTimeKind.Utc, deserialized.Date.Kind);
}
public static byte[] SerializeProto<T>(this T item) where T : class
{
using (var ms = new MemoryStream())
{
Serializer.Serialize(ms, item);
return ms.ToArray();
}
}
public static T DeserializeProto<T>(this byte[] raw) where T : class, new()
{
using (var ms = new MemoryStream(raw))
{
return Serializer.Deserialize<T>(ms); …Run Code Online (Sandbox Code Playgroud) 假设这个文件夹结构
SampleApp
global.json
Src
Web
project.json
Startup.cs
...
Model
project.json
Startup.cs
...
Run Code Online (Sandbox Code Playgroud)
如何使用dotnet?编译两个项目?(来自命令行,而不是视觉工作室)
如果你dotnet build在根文件夹级别运行,你得到
找不到文件.. project.json
我可以看到CLI repo上有这个突出的增强功能,但是从2月2日开始.
在盲目地调用dotnet所有src子文件夹之前,任何脚本都必须考虑依赖关系.
这与这个问题类似,但是这两个答案都不能解决问题。
运行后npm run build的结果index.html类似于:
<script>!function (i) { function e(e) { for //rest omitted
<script src="/static/js/2.3f294f32.chunk.js"></script>
<script src="/static/js/main.7b9daa35.chunk.js"></script>
Run Code Online (Sandbox Code Playgroud)
第一个<script>元素是内联的 javascript,我已将其提取到一个名为的文件中loader.js
<script src="/loader.js"></script>
<script src="/static/js/2.3f294f32.chunk.js"></script>
<script src="/static/js/main.7b9daa35.chunk.js"></script>
Run Code Online (Sandbox Code Playgroud)
这有效,但我想将所有 3 个文件合并为一个文件
我已经尝试过filesmerge.com来合并 JS 文件,但这会导致在引用单个文件时出错:
output.min.js:1 Uncaught TypeError: (intermediate value)(...) is not a function
at output.min.js:1
Run Code Online (Sandbox Code Playgroud)
然后我尝试使用jscompress.com 进行组合,虽然这不会产生任何错误,但不会呈现反应根元素
我也试过在 create-react-app 存储库中建议的这个解决方案不起作用。不产生错误但不呈现反应元素(页面保持空白)
考虑一个Registry由多个线程访问的简单类:
public class Registry
{
protected readonly Dictionary<int, string> _items = new Dictionary<int, string>();
protected readonly object _lock = new object();
public void Register(int id, string val)
{
lock(_lock)
{
_items.Add(id, val);
}
}
public IEnumerable<int> Ids
{
get
{
lock (_lock)
{
return _items.Keys;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
和典型用法:
var ids1 = _registry.Ids;//execution deferred until line below
var ids2 = ids1.Select(p => p).ToArray();
Run Code Online (Sandbox Code Playgroud)
这个类不是线程安全的,因为它可以接收 System.InvalidOperationException
收集被修改; 枚举操作可能无法执行.
如果另一个线程调用Register,则分配ids2 _items.Keys,因为锁定下没有执行!
这可以通过修改Ids返回IList …
我在开放式办公室中创建了一个带有多行表单字段的文档:
我遇到的问题是当动态内容超过多行文本框的初始大小时:
当然我可以在原始模板中重新调整文本框的大小,但动态内容可能是1到50行,我希望文本框后面的文本接近最后一行动态内容.
有人可以提出解决方法吗?
使用sql server 2014; ((SP1-CU3)(KB3094221)2015年10月10日x64
我有以下查询
SELECT * FROM dbo.table1 t1
LEFT JOIN dbo.table2 t2 ON t2.trade_id = t1.tradeNo
LEFT JOIN dbo.table3 t3 ON t3.TradeReportID = t1.tradeNo
order by t1.tradeNo
Run Code Online (Sandbox Code Playgroud)
t1,t2和t3分别有~70k,35k和73k行.
当我省略order by此查询时,在3秒内执行73k行.
正如所写,查询需要8.5 分钟才能返回~50k行(我已经停止了它)
切换LEFT JOINs 的顺序有所不同:
SELECT * FROM dbo.table1 t1
LEFT JOIN dbo.table3 t3 ON t3.TradeReportID = t1.tradeNo
LEFT JOIN dbo.table2 t2 ON t2.trade_id = t1.tradeNo
order by t1.tradeNo
Run Code Online (Sandbox Code Playgroud)
现在运行3秒钟.
我桌子上没有任何索引.添加索引t1.tradeNo并t2.trade_id和t3.TradeReportID没有效果.仅使用一个左连接(两个方案)与order by快速结合运行查询.
我可以更换LEFT JOIN …
我试图通过IIS运行默认的ASP.NET核心Web应用程序(VS 2015中的Web应用程序模板).
我按照从文档的说明这里例如,设置了一个"无托管代码"应用程序池,并指着位置的物理路径web.config的文件.
当我尝试浏览网站根目录时,http://localhost我收到此错误:
HTTP错误502.3 - 错误的网关尝试路由请求时出现连接错误.
最有可能的原因是:CGI应用程序没有返回一组有效的HTTP错误.由于父网关中的错误,充当代理或网关的服务器无法处理请求.
事件查看器指出:
无法使用命令行'dotnet ./bin/Debug/netcoreapp1.0/WebApplication2.dll'启动进程,错误代码='0x80004005'.
此错误显示我已替换占位符
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%"
Run Code Online (Sandbox Code Playgroud)
在web.config与需要的值
<aspNetCore processPath="dotnet" arguments="./bin/Debug/netcoreapp1.0/WebApplication2.dll"
Run Code Online (Sandbox Code Playgroud)
(更新:发布时替换这些占位符)
根据我安装的故障排除说明.NET Core Windows Server Hosting Bundle并重新启动服务器.
通过dotnet工作从命令行运行
想知道现在该尝试什么.
我编译了lzo2.dll 64位,现在希望在C#程序中使用它:
我正在使用以下类进行测试(类似的代码适用于32位lzo.dll):
[DllImport("lzo2.dll")]
private static extern string lzo_version_string();
static void Main(string[] args)
{
try
{
if (Environment.Is64BitProcess)
{
Console.WriteLine(lzo_version_string());//application exits here, no exceptions caught
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
在指示应用程序崩溃的时候,所以我拔出了windbg,这里是输出:(对不起详细说明)
0:000> !analyze -v
*******************************************************************************
* *
* Exception Analysis *
* *
*******************************************************************************
*** WARNING: Unable to verify checksum for C:\Windows\assembly\NativeImages_v4.0.30319_64\mscorlib\e0e5fbe72e8813a135fc878ff32b4bee\mscorlib.ni.dll
*** WARNING: Unable to verify checksum for Lzo64.exe
GetPageUrlData failed, server returned HTTP status 404
URL requested: http://watson.microsoft.com/StageOne/Lzo64_exe/1_0_0_0/4eccdc93/ntdll_dll/6_1_7601_17514/4ce7c8f9/80000003/000c40bf.htm?Retriage=1
FAULTING_IP:
ntdll!RtlReportCriticalFailure+2f
00000000`77a240bf …Run Code Online (Sandbox Code Playgroud) c# ×4
.net ×2
.net-core ×1
asp.net-core ×1
c++ ×1
certificate ×1
debugging ×1
dotnet-cli ×1
dump ×1
itext ×1
linq ×1
makecert ×1
pdf ×1
performance ×1
protobuf-net ×1
reactjs ×1
self-signed ×1
sql-server ×1
webpack ×1
windbg ×1