RDPSession ConnectToClient意外终止

我已经成功创建了一个桌面共享解决方案,其中RDPViewer连接到RDPSession。 这一切都很美妙。 然而,现在,我正试图让相反的工作:使用RDPViewer的StartReverseConnectListener方法和RDPSession的ConnectToClient方法(会话端将连接到查看器端以解决NAT /防火墙问题)。 我已按照http://msdn.microsoft.com/en-us/library/windows/desktop/aa373359%28v=vs.85%29.aspx中列出的步骤进行操作,主要是: 查看器通过调用StartReverseConnectListener方法获取其连接字符串,为bstrConnectionString,bstrUserName和bstrPassword参数传递NULL。 查看器通过调用StartReverseConnectListener方法启动反向连接侦听器,为pbstrReverseConnectString参数传递NULL,并为bstrConnectionString,bstrUserName和bstrPassword参数传递有效值。 查看器将在步骤1中获得的连接字符串发送到共享器。 使用C#2010,我在RDPSession端完成了以下操作: RDPSession session = new RDPSession(); session.Open(); session.Invitations.CreateInvitation(null, “test”, “12345”, 1); 然后,在RDPViewer方面,我做了: string reverseConnectString = axRDPViewer1.StartReverseConnectListener(null, null, null); (上面的步骤1) axRDPViewer1.StartReverseConnectListener(reverseConnectString, “test”, “12345”); (上面的步骤2) 然后,回到RDPSession端,我尝试使用从查看器获得的reverseConnectString来建立连接(我实际上将字符串保存到文件中,然后将其加载到RDPSession端): session.ConnectToClient(reverseConnectString); (上面的步骤3) 一旦我执行此方法,RDPViewer端就会断开错误1798,根据http://msdn.microsoft.com/en-us/library/aa373802%28VS.85%29.aspx ,这意味着: ServerCertificateUnpackErr 1798 无法解压缩服务器证书。 我觉得我错过了一些明显的东西,但我无法弄清楚是什么。 有什么建议? 谢谢!

WPF Datagrid绑定到xml

我想以编程方式将包含从数据库中提取的一些结果的XML文件绑定到我的Datagrid。 我的XML看起来像: Col 1 Col 2 Value field 1 Value field 2 Value field 1 Value field 2 我正在尝试将标题映射到datagrid标题,并将行映射到行…唯一的问题是我有点卡住了,我迷失在程序化属性中,有人可以给我一个提示要照顾什么? 我试过了: myDataGrid.ItemsSource = myXmlDoc 但它并没有真正帮助没有显示嘿嘿,我已经阅读了一些“路径”绑定属性,但我找不到它。

将C#代码转换为VB.NET

我尝试从c#转换此代码 a += (uint)(url[k + 0] + (url[k + 1] << 8) + (url[k + 2] << 16) + (url[k + 3] << 24)); 对于vb,net我得到了这个 a += CUInt(url(k + 0) + (url(k + 1) << 8) + (url(k + 2) << 16) + (url(k + 3) << 24)) 我得到这个错误 运算符'<<'未定义类型'Char'和'Integer'。 任何人都可以帮我纠正 编辑 uint a,b; a […]

C#最佳实践error handling和传递错误消息

我正在使用asp.net,我总是在努力寻找一种处理错误的简洁方法,如果有的话,将错误消息传递给用户。 例如,我有一个User类,UserManager类和一个Database类。 Imagina我想显示所有用户,显示我从UserManager调用方法GetAllUsers返回User对象列表。 此方法创建一个Database对象并调用方法ExecuteQuery(字符串查询)。 编辑:现在我的问题,想象一下ExecuteQuery()方法出错(无法打开数据库)。 我想在打开数据库连接时通知用户出错了。 我应该怎么做并处理这个整洁的方式? 编辑2: 你会这样做吗? 或者其他? public class Database() { private string _Error; // property error (only get) private void Open() { try { // Open DB // Fails because of error } catch(Exception ex) { _Error = ex.Message; } } public DataSet ExecuteQuery(string query) { try { Open(); // Execute […]

IEnumerable 如何在后台运行

我正在徘徊IEnumerable接口的更深入的function。 基本上,它作为执行中的中间步骤。 例如,如果你写: IEnumerable temp = new int[]{1,2,3}.Select(x => 2*x); 在使用temp进行某些操作(例如List list = temp.ToList() )之前,不会计算(枚举) Select函数的结果。 但是,令我困惑的是,因为IEnumerable是一个接口,所以根据定义它不能被实例化。 那么,实际项目(在示例2*x项目中)所在的集合是什么? 而且,如果我们要编写IEnumerable temp = Enumerable.Repeat(1, 10); ,什么是存储1s的底层集合(数组,列表,其他)? 我似乎无法找到关于此接口及其function的实际实现的详尽(更深入)解释(例如,如果存在底层集合, yield关键字如何工作)。 基本上,我要求的是对IEnumerable的function进行更详细的解释。

使用提升或非提升模式启动流程

我查看http://www.codeproject.com/KB/vista-security/VistaElevator.aspx上的Vista Elevator源代码,但它是用C ++编写的。 任何人都有C#源代码。 谢谢。 我有一个很大的问题:非升级过程如何启动升级过程。 升级过程如何启动非升级过程。 谢谢。

entity framework核心/ SQLite:加入“扁平化”结果后的GroupJoin

使用Entity Framework Core 2.1和SQLite数据库,如果我在另一个Join之后使用它,我会从LINQ GroupJoin获得不同的行为。 目前尚不清楚这是一个错误还是我忽略了什么。 我创建了一个最小的VS2017项目来重现这个,可以在这里找到: https://gitlab.com/haddoncd/EntityFrameworkGroupJoinIssue 在这个例子中,我为Blog表中的每一行获取一个对象,每个对象包含多个PostTitles: db.Blogs .GroupJoin( db.Posts, s => s.BlogId, p => p.BlogId, (s, ps) => new { s.BlogId, s.BlogTitle, PostTitles = ps.Select(p => p.PostTitle), } ) .OrderBy(x => x.BlogId)) 但是在这个例子中,结果是“扁平的” – 我为每个Blog-Post对获得一个对象,就像你从传统的SQL外连接一样: db.Subscriptions .Join( db.Blogs, s => s.BlogId, b => b.BlogId, (s, b) => new { s.SubscriptionId, b.BlogId, b.BlogTitle, […]

Json.NET和Obfuscation,反序列化不起作用

我想分享我的团队和我发现的解决方案,以解决当您尝试将Json.Net和Obfuscation联系起来时出现的问题。 我的配置:VS2013,C#,.NET 4.0,Json.Net 7.0.1,CodeWall / Crypto Obfuscator。 一切正常,直到我混淆了我的代码。 之后,我无法反序列化我的json文件(已正确序列化!)。

使用C#获取SMTP服务器证书

使用C#如何连接到支持STARTTLS的SMTP服务器并获取其SSL证书? 我知道可以使用openssl完成这样的事情 openssl s_client -starttls smtp -crlf -connect 192.168.0.1:25 我不想调用openssl并解析其输出。 如何用C#做这个例子将非常感激。

Sql Server Ce 3.5标识插入

在Sql Server CE中出现了标识列的问题 使用Server Explorer时,在VS2008中,执行以下脚本 SET IDENTITY_INSERT testTable ON; 插入testTable(id,name)值(1,’Something’)SET IDENTITY_INSERT testTable ON; 发送以下消息错误’不支持Set SQL构造或语句。 但然后插入行好吗?!?!?! 无论如何,当我尝试通过C#做同样的事情时,将该脚本作为命令文本,它无法说错误在“插入关键字”中 我理解,对于SQL SERVER CE,该命令当时只接受一个批处理命令,所以在这种情况下我们有三个命令(它可以与完整的SQLServer一起工作)任何想法?