Tag: c#

为log4net配置自定义事件日志

我正在使用log4net进行日志记录(呃!)。 使用EventLogAppender,我可以配置我的应用程序名称,以便我的事件将显示在应用程序/“我的应用程序名称”事件日志中。 但是,我想将事件记录到“其他事件日志”/“我的应用程序名称”。 我该如何配置? 当前配置: 对于EventLogInstaller,代码如下所示: eventLogInstaller.Log = “Some other event log”; // Default “Application” eventLogInstaller.Source = “My application name”;

从SHA256解密

我有那个代码加密字符串到sha256和base64旁边: public static string Sha256encrypt(string phrase) { UTF8Encoding encoder = new UTF8Encoding(); SHA256Managed sha256hasher = new SHA256Managed(); byte[] hashedDataBytes = sha256hasher.ComputeHash(encoder.GetBytes(phrase)); return Convert.ToBase64String(hashedDataBytes); } 如何在另一方解密我的密码?

Kinect深度和图像帧对齐

我正在玩新的Kinect SDK v1.0.3.190。 (stackoverflow中的其他相关问题是以前的kinect sdk)我从Kinect获得深度和颜色流。 由于使用不同的传感器捕获深度和RGB流,因此在两个帧之间存在未对准,如下所示。 只有RGB 只有深度 深度和RGB 我需要对齐它们,并且有一个名为MapDepthToColorImagePoint的函数正是为此目的。 但它似乎没有用。 这是一个同样混合(深度和映射的颜色)结果,下面是使用以下代码创建的 Parallel.For(0, this.depthFrameData.Length, i => { int depthVal = this.depthFrameData[i] >> 3; ColorImagePoint point = this.kinectSensor.MapDepthToColorImagePoint(DepthImageFormat.Resolution640x480Fps30, i / 640, i % 640, (short)depthVal, ColorImageFormat.RgbResolution640x480Fps30); int baseIndex = Math.Max(0, Math.Min(this.videoBitmapData.Length – 4, (point.Y * 640 + point.X) * 4)); this.mappedBitmapData[baseIndex] = (byte)((this.videoBitmapData[baseIndex])); this.mappedBitmapData[baseIndex + 1] […]

使用orderby对int数组进行排序

我想按升序排序我的int数组。 首先我复制一下我的数组: int[] copyArray = myArray.ToArray(); 然后我想按升序排序,如下所示: int[] sortedCopy = from element in copyArray orderby element ascending select element; 但是我得到一个错误,“选中”得到了高位,错误是:“不能隐式地将类型’system.linq.iorderedenumerable’转换为’int []’”

通过函数指针在C#中调用C函数

我的C程序中有一个静态函数,该地址被传送到C#.NET程序。 地址是正确的,但可以在C#中调用此函数吗? 有一些代码: static void test_callback() { printf(“test_callback called\n”); } void callCSharpFunction () { HRESULT status; BOOL Started; DWORD result; char ptr[5]; int p1; Started = FALSE; status = CorBindToRuntimeEx( NULL, NULL, 0, &CLSID_CLRRuntimeHost, &IID_ICLRRuntimeHost, (PVOID *)&Host ); if (FAILED(status)) {} status = ICLRRuntimeHost_Start(Host); if (FAILED(status)) {} Started = TRUE; p1 = (int)(&test_callback); ptr[0] = […]

使用Web窗体的URL路由和Favicon的StopRoutingHandler

我有一个网站,我需要添加一个Favicon.ico。 该站点使用带有路由的ASP.NET 3.5 Web窗体编写。 问题是Favicon链接始终返回页面未找到错误。 这是因为路由不知道Favicon.ico的链接应该去哪里,所以它返回Not Found页面。 我试图为favicon添加一个StopRoutingHandler,但它们似乎都不起作用。 以下是我到目前为止尝试过的内容: routes.Add(new Route(“MasterPages/{favicon}.ico”, new StopRoutingHandler())); routes.Add(new Route(“{favicon}.ico”, new StopRoutingHandler())); routes.Add(new Route(“favicon.ico”, new StopRoutingHandler())); routes.Add(new Route(“favicon.ico/{*pathInfo}”, new StopRoutingHandler())); 有谁知道我应该使用什么? 我的favicon.ico链接我试过看起来像这样: 它们位于我的标签内。 另外,作为最后一点,我不使用MVC,因为如果我是,我可以使用它: routes.IgnoreRoute(“{*favicon}”, new {favicon=@”(.*/)?favicon.ico(/.*)?”}); 遗憾的是,IgnoreRoute不适用于Routing Web Forms,因为它不是MVC应用程序。

如何在控制台应用程序中从Task.WaitAll()获取返回值?

我使用控制台应用程序作为概念certificate和获得异步返回值的新需求。 我发现我需要在main方法中使用Task.WaitAll()来避免需要异步“main()”方法,这是非法的。 我现在卡住试图弄清楚允许我使用generics的重载,或者只返回我可以强制转换的对象,但是在Main()中。

从DLL文件中读取资源

我有两个Visual Basic 2008项目 – 一个是类库项目,另一个是Windows Forms项目。 在类库项目中,我在项目资源中定义了一些字符串(项目属性>“资源”选项卡)。 我构建该类库项目并从调试文件夹中获取DLL文件,并在我的Windows窗体项目中添加为参考。 如何从引用的DLL文件中读取这些字符串?

如何在日期时间使用GMAIL API查询filter

我在REST接口上使用GMAIL API来从gmail服务器上读取邮件,我的问题是当我使用日期filter时,将日期设置为“之后:2014/8/20之前:2014/8/22”然后邮件从下载2014/8/20 12.30 PM(理想情况下,它应该考虑从上午12点开始的邮件)。 从晚上12点到中午12点30分的邮件被跳过。 我认为服务器正在使用PST时区。 我可以在filter中指定时间吗? 或者有没有办法指定时区,以便我收到所有的邮件。 使用的代码: UsersResource.MessagesResource.ListRequest request = null; ListMessagesResponse response = null; request = gmailServiceObj.Users.Messages.List(userEmail); String query = “after:” + FromDate.Date.ToString(“yyyy/M/dd”) + ” before:” + ToDate.Date.ToString(“yyyy/M/dd”) + ” label:” + LabelID; request.Q = query; 谢谢,Haseena

如何从C#调整麦克风增益(需要在XP和W7上工作)

首先,请注意我知道有一些问题已经发布; 但他们似乎没有充分解决这个问题。 我有一个C#应用程序,所有pInvoke挂钩都与waveXXX API对话,我可以用它来捕获和回放音频。 我还可以使用该API调整扬声器(WaveOut)音量。 问题在于,无论出于何种原因,该API都不允许我调整麦克风(WaveIn)音量。 所以,我设法找到了一些混音器代码,我也已经通过pInvoke进入并允许我调整麦克风音量,但只能在我的W7 PC上调整。 我开始使用的混音器代码来自这里: http : //social.msdn.microsoft.com/Forums/en-US/isvvba/thread/05dc2d35-1d45-4837-8e16-562ee919da85它可以工作,但写的是调整扬声器音量。 我添加了此处显示的SetMicVolume方法… public static void SetMicVolume(int mxid, int percentage) { bool rc; int mixer, vVolume; MIXERCONTROL volCtrl = new MIXERCONTROL(); int currentVol; mixerOpen(out mixer, mxid, 0, 0, MIXER_OBJECTF_WAVEIN); int type = MIXERCONTROL_CONTROLTYPE_VOLUME; rc = GetVolumeControl(mixer, MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, type, out volCtrl, out currentVol); if (rc == […]