如何“压缩”或“旋转”可变数量的列表?

如果我有一个包含任意数量列表的列表,如下所示: var myList = new List<List>() { new List() { “a”, “b”, “c”, “d” }, new List() { “1”, “2”, “3”, “4” }, new List() { “w”, “x”, “y”, “z” }, // …etc… }; …有没有办法以某种方式将列表“拉链”或“旋转”成这样的东西? { { “a”, “1”, “w”, … }, { “b”, “2”, “x”, … }, { “c”, “3”, “y”, … }, { […]

如何从Windows 10 UWP应用程序连接到SQL Server数据库

我正在尝试从通用Windows应用程序连接到本地MS SQL数据库。 我正在使用UWP制作LOB应用程序,以支持桌面,平板电脑和移动应用。 当尝试连接到本地(Intranet)SQL Server数据库时,我习惯使用SqlConnection实例连接到本地服务器,但由于SqlConnection不包含在UWP中使用的.NET子集中,如何完成什么时候使用UWP? 我查看了官方的Microsoft示例以及操作指南 ,并且没有发现任何关于不是Azure数据库的数据库连接。 DbConnection似乎是一个很好的方法,但不能使用,因为它是抽象的,它的子项(例如Data.SqlClient.SqlConnection )似乎不包含在UWP的.NET子集中。 我错过了一些非常明显的东西吗? 另外,有没有人知道UWP的良好命名空间参考? 编辑非重复:建议作为重复的链接问题适用于Windows 8 / 8.1应用程序,虽然有一些相似之处,但该问题的已接受答案中的代码将无法在UWP上运行。 但原则是相同的,但对于使用UWP构建的Windows 10应用程序应该有更好的技术参考。

如何从C#中的文件加载RSA公钥

我需要从文件加载以下RSA公钥以与RSACryptoServiceProvider类一起使用。 我怎样才能做到这一点? —–BEGIN PUBLIC KEY—– XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/syEKqEkMtQL0+d XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX+izR KbGMRtur2TYklnyVkjeeHfAggo8vWQmWesnOG55vQYHbOOFoJbk0EkwEr5R/PbKm byXPPN8zwnS5/XXXXXXXXXXXX —–END PUBLIC KEY—– 此代码适用于我的pub键: http : //www.jensign.com/opensslkey/ 这是我正在使用的代码 static string RSA(string input) { RSACryptoServiceProvider rsa = DecodeX509PublicKey(Convert.FromBase64String(GetKey())); return (Convert.ToBase64String(rsa.Encrypt(Encoding.ASCII.GetBytes(input), false))); } static string GetKey() { return File.ReadAllText(“master.pub”).Replace(“—–BEGIN PUBLIC KEY—–“, “”).Replace(“—–END PUBLIC KEY—–“, “”); //.Replace(“\n”, “”); } private static bool CompareBytearrays(byte[] a, byte[] b) { if (a.Length […]

使用C#在XML中进行SAML断言

这是我面临的问题,需要一些帮助/指导。 我从我的引擎生成了一条XML消息,需要将其解析为服务。 为此,我必须将该消息更改为SOAP消息并在其上插入SAML令牌。 我正在尝试使用C#代码执行此操作。 下面是我生成的输入消息和预期输出: 输入消息: 删除已在SOAP Body中插入的输入消息 期望的输出消息: https://localhost:443/Gateway/PatientDiscovery/1_0/NwHINService/NwHINPatientDiscovery urn:hl7-org:v3:PRPA_IN201305UV02:CrossGatewayPatientDiscovery http://www.w3.org/2005/08/addressing/anonymous 461433e3-4591-453b-9eb6-791c7f5ff882 2012-06-08T18:31:44Z 2012-06-08T18:36:44Z CN=SAML User,OU=SU,O=SAML User,L=Los Angeles,ST=CA,C=US 5MearYAjQTErf01u/7UlKo2hEyc= eCEFcl9iEl6u0MrAehJdsRrgbOCnirOE8i9IQpYMb25sMEaeLzXR7SFGf+TrPyv87YwYUr8lP1xK Iohggt9yCkdvsVIOhRxiOQmK36ATjIsCNVdjqQwH2Ez9q9esRPgWIlS0vDRKxylaz1eGEX5ZCGdg rBuScX3uvVjA5s/SVfQh6Enw9cbW/1i5Vcrvrie9ro2EdNS6CM1qLmf9bY37E5XK3f3Zt2xne1TH OXyqH9jXU5RdE14vD+jNHAjCLq61rG5+ImWtZ2sYmp8+vLJGOVSH6yUEDV2v04AdsXUYbjgRvMjo /mC8Mec2LdX0pGAuqS+hF4xdlR4RNI74Jj7Esg== maFp5lsEHjhrQQCL0e8cbxMoDpGk1r6Uion/LA2iuD3T+sspJh8TNToQrurpFFVY/u6IzHKIk64s 9894pxbwYNwv/LzRVzM5pOXmCT73KGAg3Cry+QOO5KrN8hR/OXyH90/LIS77FZY+bepqD6qx4URa 2/GLll08fu8xh1wPFDMCFAmb2Xz/5gK0fimUXJAWi1+PlNKMLnDGxHgvz5ZwiN1/QwXcQEc1mcJC imLoiCSrk7nvmqkxX4ZZ1dYzQJWdlB8Om4r9Uu96q5cZFTYwSdivLpPFKSzn/2MI9NryZC0VaIBu HRhgAmspAzM90BjLO5vtiwrrfx/E3uYcMjcSEQ== AQAB UID=WilmaAnderson maFp5lsEHjhrQQCL0e8cbxMoDpGk1r6Uion/LA2iuD3T+sspJh8TNToQrurpFFVY/u6IzHKIk64s9894pxbwYNwv/LzRVz M5pOXmCT73KGAg3Cry+QOO5KrN8hR/OXyH90/LIS77FZY+bepqD6qx4URa2/GLll08fu8xh1wPFDMCFAmb2Xz/5gK0fimUXJAWi1+PlNKML nDGxHgvz5ZwiN1/QwXcQEc1mcJCimLoiCSrk7nvmqkxX4ZZ1dYzQJWdlB8Om4r9Uu96q5cZFTYwSdivLpPFKSzn/2MI9NryZC0VaIBuHRhg AmspAzM90BjLO5vtiwrrfx/E3uYcMjcSEQ== AQAB urn:oasis:names:tc:SAML:2.0:ac:classes:X509 WilmaWA Anderson 2.16.840.1.113883.3.609.10.330.000 2.16.840.1.113883.3.609.10.330.000 2.16.840.1.113883.3.609.10.330.000 PATAA000000040^^^&2.16.840.1.113883.3.609.20.330.000&ISO wOyuouXyvOr9+wFonBcY/sfKQdc= L3DLzs6axzNlKUuySKvg52ljw+QrLkmJLbJH7kyHoafjyUavzmw3IPAsg70UfVS8tpM+ut7Im4ouqn9eVOttY2BY8MTyBGUSlwj/2IGHdzxoqcXpLFXxx7ntti2Zt/mfmnV1A+iu+a0l5uIRBy6OdxbSsZg1yK2UYaR60WkVEXVH1MZXnHmE33woHjrScvXh1i mdJ8apZzCuWZ4Nlbf85kvwVjriyCOK2O1nUvY7ZmSsuHGqTOrgemoDQxlNKb3F4Rn48W1yIiAAAJZuq2Qx5KJ4b6aX17/M73pqvqTKMz5Wv YrmL54FzhXIalns6LzAZ6EZo4YdYOODmuchIZwZqg== _e1154a8a-bbd5-426d-afa5-ed7071f1b1ff Test Testing 使用X509证书我可以创建签名部分。 但是,我无法创建SAML断言和SOAP消息。 如果有人可以帮助/指导我这将是一个很大的帮助。 这是我在C#中的代码: […]

处理,何时被称为?

请考虑以下代码: namespace DisposeTest { using System; class Program { static void Main(string[] args) { Console.WriteLine(“Calling Test”); Test(); Console.WriteLine(“Call to Test done”); } static void Test() { DisposeImplementation di = new DisposeImplementation(); } } internal class DisposeImplementation : IDisposable { ~DisposeImplementation() { Console.WriteLine(“~ in DisposeImplementation instance called”); } public void Dispose() { Console.WriteLine(“Dispose in DisposeImplementation instance […]

collections被修改; 枚举操作可能无法执行 – 为什么?

我正在枚举实现IList的集合,在枚举期间我正在修改集合。 我收到错误,“收集已被修改;枚举操作可能无法执行。” 我想知道为什么在迭代期间修改集合中的项时会发生此错误。 我已经将我的foreach循环转换为for循环,但我想知道发生此错误的原因的’详细信息’。

C#WinForms ErrorProvider控件

有没有人知道是否有办法获得激活ErrorProvider图标的控件列表。 即。 任何validation失败的控件。 我试图避免循环表单中的所有控件。 我想显示某种消息,指出表单上有多少错误。 由于我的表单包含选项卡,我试图让用户明白错误可能存在于非活动选项卡上,并且需要检查所有选项卡。 谢谢 巴里

从Controller调用SignalR Core Hub方法

如何从Controller调用SignalR Core Hub方法? 我使用ASP.NET Core 2.0与Microsoft.AspNetCore.SignalR(1.0.0-alpha2-final)。 我有与Excel,SolidEdge通信的Windows服务…当操作完成后,它会在ASP.NET Core应用程序中向我的控制器发送请求。 现在我需要通过SignalR通知连接到服务器的所有客户端外部程序完成了一些任务。 我无法改变窗口服务的工作方式。 (无法从窗口服务连接到SignalR)。 我为旧的SignalR(GlobalHost.ConnectionManager.GetHubContext)找到了很多解决方案,但是已经发生了很多变化,这些解决方案不再适用了。 我的控制器: [Route(“API/vardesigncomm”)] public class VarDesignCommController : Controller { [HttpPut(“ProcessVarDesignCommResponse/{id}”)] public async Task ProcessVarDesignCommResponse(int id) { //call method TaskCompleted in Hub !!!! How? return new JsonResult(true); } } 我的中心: public class VarDesignHub : Hub { public async Task TaskCompleted(int id) { await Clients.All.InvokeAsync(“Completed”, id); […]

如何获得运行过程的完整路径?

我有一个正在更改其他应用程序的某些设置的应用程序(它是一个简单的C#应用​​程序,通过双击运行(无需设置))。 更改设置后,我需要重新启动其他应用程序,以便它反映更改的设置。 所以要做,我必须杀死正在运行的进程并再次启动进程,但问题是杀死后我无法找到进程。 (原因是系统不知道exe文件在哪里..) 有没有办法找出运行进程或exe的路径,如果它正在运行? 我不想手动给路径,即如果它正在运行获取路径,杀死进程并再次启动….我将稍后处理

重定向控制台应用程序的标准输入

我有一个控制台应用程序,我试图通过重定向过程的标准输入流自动化。 在打开应用程序后的手动模式下,它等待用户输入,如下所示, 我使用重定向的标准输入流创建了该过程。代码片段如下, Process newProcess = new Process(); newProcess.StartInfo.FileName = exeName; newProcess.StartInfo.Arguments = argsLine; newProcess.StartInfo.UseShellExecute = false; newProcess.StartInfo.RedirectStandardOutput = false ; newProcess.StartInfo.CreateNoWindow = false; newProcess.StartInfo.RedirectStandardInput = true; newProcess.Start(); 但是创建这样的过程会产生如下所示的无限循环, 这就像我将Enter键命令连续发送到过程输入流。 谁能指出我在这里做错了什么? 同样,标准输出流重定向在制作后也不起作用 newProcess.StartInfo.RedirectStandardOutput = true 但我可以解决这个问题。 标准流的重定向是否适用于所有控制台应用程序,或者是否有任何exception?