Tag: .net

对SSPI的调用失败,请参阅内部exception – 无法联系本地安全机构

我有一个WPF应用程序,它使用SSLStream连接到服务器并发送/接收一些消息。 我的代码更大程度上基于这个例子(SslTcpClient): https ://msdn.microsoft.com/en-us/library/system.net.security.sslstream(v = vs.110).aspx。 这个工作好几个月了。 但是,在获得此Windows更新(Windows 10版本1511和Windows Server 2016技术预览4的累积更新:2016年6月14日 – https://support.microsoft.com/en-us/kb/3163018 )之后。 我的应用程序开始报告此exception: System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. —> System.ComponentModel.Win32Exception: The Local Security Authority cannot be contacted — End of inner exception stack trace — at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception) at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartSendBlob(Byte[] […]

可移植类库,相当于Dispatcher.Invoke或Dispatcher.RunAsync

在.NET,Windows 8和Windows Phone 7中,我的代码与此类似: public static void InvokeIfRequired(this Dispatcher dispatcher, Action action) { if (dispatcher.CheckAccess()) { action(); } else { dispatcher.Invoke(action); } } 我如何在便携式类库中做一些事情? 有一个平台无关的实现这将是很好的。 我的想法是使用WP7中没有的TPL,但肯定会很快。 // PortableDispatcher must be created on the UI thread and then made accessible // maybe as a property in my ViewModel base class. public class PortableDispatcher { private TaskScheduler […]

如何在.NET 3.5中重用线程

我有一个处理大块信息的子程序。 为了利用整个CPU,它将工作分为单独的线程。 完成所有线程后,它就完成了。 我读到创建和销毁线程会占用大量开销,所以我尝试使用线程池,但实际上运行速度比创建自己的线程慢。 如何在程序运行时创建自己的线程,然后继续重用它们? 我见过有些人说它无法完成,但是线程池是这样做的,所以它必须是可能的,对吧? 以下是启动新线程/使用线程池的代码的一部分: //initialization for threads Thread[] AltThread = null; if (NumThreads > 1) AltThread = new Thread[pub.NumThreads – 1]; do { if (NumThreads > 1) { //split the matrix up into NumThreads number of even-sized blocks and execute on separate threads int ThreadWidth = DataWidth / NumThreads; if (UseThreadPool) //use […]

ProtoInclude属性意味着什么(在protobuf-net中)

在ProtoBuf-Net实现中, ProtoInclude属性意味着什么,它有什么作用? 一个例子将不胜感激。 我在这篇文章中看到了它,我不确定它是做什么的。 这个例子是: [Serializable, ProtoContract, ProtoInclude(50, typeof(BeginRequest))] abstract internal class BaseMessage { [ProtoMember(1)] abstract public UInt16 messageType { get; } } [Serializable, ProtoContract] internal class BeginRequest : BaseMessage { [ProtoMember(1)] public override UInt16 messageType { get { return 1; } } } 另外,有没有办法使用protogen工具生成这种inheritance?

为我的所有表单设置相同的图标

有没有办法在不必逐个更改的情况下为我的所有表单设置相同的图标? 类似于为解决方案中的所有项目设置GlobalAssemblyInfo时的情况。

避免在C#/ .NET中“程序停止工作”

我有一个用C#/ .NET编写的控制台应用程序,我想从脚本(nant)运行。 如果在控制台应用程序中发生exception,我不想继续,但在Windows Vista中有一个弹出窗口,它会搜索解决方案并要求调试等。 当控制台应用程序中发生exception时,我想避免使用“程序停止工作”的弹出窗口。 如何从C#/ .NET控制它? (类似的问题解决了C语言的问题 ,但我想要一个C#/ .NET的解决方案。) (澄清一下:我希望将exception传递给nant,但没有弹出窗口。)

在C#中初始化静态变量内联或静态构造函数的差异

我想知道初始化内联静态成员有什么区别,如: class Foo { private static Bar bar_ = new Bar(); } 或者在静态构造函数中初始化它,如: class Foo { static Foo() { bar_ = new Bar(); } private static Bar bar_; }

.NET中是否有SortedList 类?

我需要根据它们的内容对某些对象进行排序(实际上根据它们的一个属性,这不是关键,可能在不同对象之间重复)。 .NET提供了两个类( SortedDictionary和SortedList ),并且都使用二叉树实现。 它们之间的唯一区别是 SortedList比SortedDictionary使用更少的内存。 对于未排序的数据,SortedDictionary具有更快的插入和删除操作,O(log n)而不是SortedList的O(n)。 如果列表是从排序数据中一次性填充的,则SortedList比SortedDictionary快。 我可以使用List实现我想要的东西,然后将它的Sort()方法与IComparer的自定义实现一起使用,但它不会节省时间,因为每次我想插入一个新对象时我会对整个List进行排序,而一个好的SortedList只会将项目插入正确的位置。 我需要的是一个带有RefreshPosition(int索引)的SortedList类,它只移动已更改(或插入)的对象,而不是每次内部对象更改时都使用整个列表。 我错过了一些明显的东西吗

在DataGridView中确定单元格位置

给定特定的行号和列索引,如何计算DataGridView中的单元格位置(IE:Location.Point)? 我需要单元格位置的原因是我可以在单元格内放置一个按钮以允许文件夹浏览(datagridview显示文件夹路径)。 关于如何实现这种欢迎的替代建议。

.NET C#:WebBrowser控件Navigate()不加载目标URL

我正在尝试以编程方式通过WebBrowser控件加载网页,目的是测试页面及其JavaScript函数。 基本上,我想比较通过此控件运行的HTML和JavaScript与已知输出,以确定是否存在问题。 但是,我在创建和导航WebBrowser控件时遇到了麻烦。 下面的代码旨在将HtmlDocument加载到WebBrowser.Document属性中: WebBrowser wb = new WebBrowser(); wb.AllowNavigation = true; wb.Navigate(“http://www.google.com/”); 在Navigate()运行后通过Intellisense检查Web浏览器的状态时,WebBrowser.ReadyState为’Uninitialized’,WebBrowser.Document = null,并且它总体上看起来完全不受我的调用的影响。 在上下文中,我在Windows窗体对象之外运行此控件:我不需要加载窗口或实际查看页面。 要求规定需要简单地执行页面的JavaScript并检查生成的HTML。 非常感谢任何建议,谢谢!