如何在c#中创建多个线程

我需要收听机器中的所有串口。 假如我的机器有4个串口,我必须创建4个线程并分别用附加的线程开始监听每个端口。 我用这段代码来获取机器中的端口数量。 private SerialPort comPort = new SerialPort(); public void GetAllPortNamesAvailable() { string[] ports = SerialPort.GetPortNames(); foreach (string port in ports) { //How to start a thread here ?? } } public void AssignThreadtoPort() { string msg = comPort.ReadLine(); this.GetMessageRichTextBox(“Message : ” + msg + “\n”); } 阅读评论后,我使用此代码,但没有收到消息..问题是什么? public void AssignThreadsToPorts() { string[] ports […]

保持两个线程之间的布尔值同步

在一个线程(thread2)中,我更改了一个值,例如 CheckSuccess = false; 现在主线程(thread1 – GUI / Form)没有获取更改,如何“传播”所有线程周围的更改? 我的印象是线程应该操纵数据,而不是在单独的实例上工作(除非被告知这样做)

MVVMLight UserControl视图模型 – 为每个视图创建新的用户控件实例

我有一个用户控制我在其他视图中使用的患者列表。 但是,当我选择其中一个患者时,选择将传播到包含用户控件实例的所有视图。 如何让每个视图为每个视图实例化一个用户控件的新实例? 我正在使用c#

如何修复ASP.NET中的“此页面无法显示”错误?

我正在调试一个localhost asp.net,我做了一些非常小的代码更改并再次运行它,现在我收到了一个我以前从未得过的错误。 在漂亮的大蓝色字母中,它告诉我“此页面无法显示”。 除了将所有内容都放到论坛之外,您认为会导致此错误的内容以及如何修复它? 它提供了一个“修复连接问题”按钮,但这是一个本地主机浏览器,所以没有连接,真的。 无论如何我点击了按钮,它没有提供任何解决方案。 我也按照建议更新了页面,但没有做任何事情。 我在浏览器中测试我的localhost,它正在运行。 你怎么看? http://sofzh.miximages.com/c%23/9-9-2013_zps3b05a401.png

如何在WPF 4.5中为按钮单击事件创建MarkupExtenstion?

我想创建MarkupExtension以支持Button click事件。 我在这里有一篇关于PreviewKeyDown的文章。 我尝试将其修改为Click但无法执行此操作,因为它会抛出exception 请建议如何实现这一点。

如何强制使用我的程序打开某个类型的任何文件?

我有构建程序,可以打开* .sdf文件并显示所有表和数据。 如何强制我的计算机中的任何* .sdf文件将打开我的程序? 提前致谢

使用中间表进行一对多映射

我认为通过将中间表映射为HasMany以及作为HasOne的中间人和子映射之间的方法,我将这个挂起,但HasOne希望共享密钥。 (无反向选项。:[] 无论如何,我有关系结构: 地址(儿童) AddressId ..地址字段 AddressCustomer(中介) AddressCustomerId AddressId 顾客ID 客户(父母) 顾客ID ..Customer Fields 为什么我有这个中间表而不是正常的1-many? 因为将有其他实体需要包含地址。 (即网站等)他们将拥有自己的中间表,以便他们可以共享地址表。 到目前为止我的映射: public class CustomerAddressMap : ClassMap { public CustomerAddressMap() { Schema(“dbo”); Table(“CustomerAddress”); Id(x => x.CustomerAddressId); Map(x => x.FromDate) .Not.Nullable(); Map(x => x.ToDate); HasOne(x => x.Address) .ForeignKey(“AddressId”) .Cascade.All(); } } public class AddressMap : ClassMap { public AddressMap() { […]

如何在不使用剪贴板的情况下从活动应用程序中获取所选文本

我在做什么: 我的主要目的是在Win 7上启用用户友好的text to speech供个人使用。方法应该适用于Google Chrome,VS和Eclipse。 代码示例: 以下代码为ctrl + alt + space创建全局键盘钩子,称为hookEvent。 如果事件触发,它会启动/停止说出剪贴板内容(可以使用ctrl + c更新)。 /// /// KeyboardHook from: http://www.liensberger.it/web/blog/?p=207 /// private readonly KeyboardHook hook = new KeyboardHook(); private readonly SpeechSynthesizer speaker = // new SpeechSynthesizer { Rate = 3, Volume = 100 }; private void doSpeaking(string text) { // starts / stops speaking, while […]

从JavaScriptExecutor获取ExecuteScript的值

我有一个问题,我需要价值 string someValue = ((IJavaScriptExecutor)Global.Driver).ExecuteScript(“$(‘#publication_title’).val();”); Console.WriteLine(someValue); 任何的想法?

IoC容器并发症的C#ASP.NETdependency injection

我为这个长度道歉,我知道这里有一些答案,但我搜索了很多,但没有找到正确的解决方案,所以请耐心等待。 我正在尝试为遗留应用程序创建一个框架,以便在ASP.NET webforms中使用DI。 我可能会使用Castle Windsor作为框架。 这些遗留应用程序将在某些地方部分使用MVP模式。 演示者看起来像这样: class Presenter1 { public Presenter1(IView1 view, IRepository userRepository) { } } 现在ASP.NET页面看起来像这样: public partial class MyPage1 : System.Web.UI.Page, IView1 { private Presenter1 _presenter; } 在使用DI之前,我会在页面的OnInit中按如下方式实例化Presenter: protected override void OnInit(EventArgs e) { base.OnInit(e); _presenter = new Presenter1(this, new UserRepository(new SqlDataContext())); } 所以现在我想使用DI。 首先,我必须创建一个处理程序工厂来覆盖我的页面的构造。 我发现这是一个非常好的答案: 如何在ASP.NET Web窗体中使用dependency injection 现在我可以轻松地在我的组合根中设置我的容器,因为Mark Seeman建议使用Global.asax(这意味着创建一个必须是线程安全且密封的静态容器,不能再添加注册) […]