Tag: c ++

如何将对象注入Ninject模块

我正在使用Ninject进行DI。 我有Ninject Modules将一些服务绑定到内核并在其他模块中使用绑定对象作为服务。 为了清除这种情况,让我们看一些代码:这是我的安全模块。 它提供名为PermissionManagerContainer的服务。 public class SecurityModule : NinjectModule { public override void Load() { Bind().To().InSingletonScope(); } } 另一方面,我有一个FormServices模块,它应该向注入的PermissionManagerContainer添加一个项目。 我认为代码必须是这样的: public class FormServicesModule : NinjectModule { [Ninject.Inject] private IPermissionManagerContainer permissionManagerContainer { get; set; } public override void Load() { permissionManagerContainer.RegisterManager(formServicesPermissionManager); } } 因此,在名为ManagePermissions.aspx的页面中,我再次注入PermissionManagerContainer并为所有模块的权限管理器创建用户界面。 例如,我需要在FormServices模块中保护Forms,并为该服务中的每个表单定义权限。 但我认为在将其注入另一个模块之前,无法保证绑定PermissionManagerContainer ! 实际上,我有自己的解决方案来解决这个问题。 我可以编写一个名为MyModule的抽象类,它是NinjectModule的子类,并编写一个名为InitializeModule的抽象方法。 并在该方法中调用RegisterManager 。 然后在加载内核中的所有模块后,为每个加载的模块调用InitializeModule。 但我的问题是: Ninject内部是否具有此function? Ninject很可能在内部管理这个案例,我可以在load方法中调用RegisterManager […]

绘制有多个孔的多边形?

我正在尝试绘制一个有多个孔的多边形。 我尝试了以下代码,但它无法正常工作。 请指教。 PointF[] mypoly = new PointF[6 + 5 + 5]; mypoly[0] = new PointF(0, 0); mypoly[1] = new PointF(100, 0); mypoly[2] = new PointF(100, 100); mypoly[3] = new PointF(0, 100); mypoly[4] = new PointF(10, 80); mypoly[5] = new PointF(0, 0); mypoly[6] = new PointF(10, 10); mypoly[7] = new PointF(10, 20); mypoly[8] = new […]

“当IDENTITY_INSERT设置为OFF时,无法在表’电影’中为标识列插入显式值。”

我首先使用代码entity framework。 我一直在收到以下错误,无法弄清楚如何修复它: “当IDENTITY_INSERT设置为OFF时,无法在表’电影’中为标识列插入显式值。” 我已经读过在我的迁移查询周围设置Sql(“SET IDENTITY_INSERT Movies ON”)和OFF应修复此问题,但是我没有在Movies表上运行任何查询。 电影表: { public class Movies { public byte Id { get; set; } [Display (Name = “Movie Name”)] public string MovieName { get; set; } public Genre Genre { get; set; } [Required] public byte GenreId { get; set; } [Display (Name = “Release Date”)] public DateTime […]

DataGridView CellPainting不能完全在Scroll上工作

第一篇文章,但长时间浏览器:) 所以这是我的问题:基本上我有一个datagridview,我用它来与用户交互。 在所有的行中,都有一个“信息”按钮,它会产生这样一种错觉:它在它下面添加了另一行,所有的单元格都被合并了(一个长单元格跨过整个行)并绘制描述它上面一行的文本和图像到“信息单元”。 这很有效,除非垂直滚动数据网格视图,然后看起来没有调用绘画并且网格看起来乱糟糟。 有任何想法吗? 以下是代码的基本概要: private void grid_CellPainting(object sender, DataGridViewCellPaintingEventArgs e){ // Loop through and draw all of the open information rows foreach (int i in openInfoCells) { if (i >= grid.FirstDisplayedCell.RowIndex && i <= (grid.DisplayedRowCount(true) + grid.FirstDisplayedCell.RowIndex)) { // Draw Rectangle …. // Draw Text or Image …. } } }

使用TextBox或RichTextBox从图像文件显示原始数据?

我的程序读取DDS图像文件并将其存储为字节数组。 我希望能够以TextBoxforms向用户显示原始数据,因此我首先使用以下代码将字节数组转换为字符串: string data = System.Text.Encoding.ASCII.GetString(bytes); 然后我设置TextBox文本: textBox.Text = data; 我遇到的问题是文本框没有显示所有数据。 以下是它的外观截图: 如您所见,只显示前几个字符。 我假设这是因为字符串包含一个null终止符,TextBox将其解释为字符串的结尾。 这是我直接从调试器监视窗口复制的字符串中前50个左右字符的复制粘贴: DDS | \ 0 \ 0 \ 0 \ a \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 […]

后台代理中的静态变量值不同

我有一个应用程序,显示一些数据,并启动后台代理,以动态更新实时切片。 由于实时磁贴内容是使用从主线程填充的一些var在后台代理中创建的,因此我决定编写一个具有静态变量和属性的类,以便在主线程之间共享,这可能是一个错误的决定,但这是我认为合理的唯一一个。线程和后台代理。 现在的问题是我在主线程中写了一个变量值,但是当后台代理执行时发现这个值为null。 为什么? 我提供了一个小例子,跳跃它足以让你理解。 静态部分 public class Vars { public static IEnumerable Contacts; public static void Test() { int num = Contacts == null ? -2 : Contacts.Count(); // num is -2 here because Contacts is null !! } } 背景技术 public class TileAgent : ScheduledTaskAgent { protected override void OnInvoke(ScheduledTask task) { // […]

我怎样才能完整截屏

我有一个包含更多10个项目的列表框,我编写了一个代码来在Windows Phone 8上进行屏幕截图并进行共享,但它只是将屏幕上显示的所有内容(3项)都没有完整列表框。 我怎样才能截取完整的Lisbox截图? 这是我的代码。 var bmp = new WriteableBitmap(lbxDays, new TranslateTransform()); var width = (int)bmp.PixelWidth; var height = (int)bmp.PixelHeight; bmp.Render(lbxDays, new TranslateTransform()); using (var ms = new MemoryStream()) { bmp.SaveJpeg(ms, width, height, 0, 100); ms.Seek(0, System.IO.SeekOrigin.Begin); var lib = new MediaLibrary(); var dateStr = DateTime.Now.Ticks; var picture = lib.SavePicture(string.Format(“screenshot”+dateStr+”.jpg”), ms); var task = new […]

WP7 InvokeScript错误

我对wp7上的方法InvokeScript有些困难: webBrowser1.InvokeScript(“eval”, string.Format(“document.getElementsByName(’email’).value='{0}'”, _email)); webBrowser1.InvokeScript(“eval”, string.Format(“document.getElementsByName(‘pass’).value='{0}'”, _pass)); webBrowser1.InvokeScript(“eval”, “document.forms[0].submit();”); 不幸的是,当我尝试使用(document.forms[0].submit())提交信息时,会抛出一条消息: 出现未知错误。 错误:80020101。 问题可能是什么?

WinRT中的应用程序间通信

在Windows 8上有两个WinRT应用程序(C#/ Xaml,如果重要)。第一个应用程序应该接收并向第二个应用程序发送一些数据。 最好的方法是什么? 可以使用WCF吗? 编辑:第一个应用程序知道第二个。 实际上第二个应用程序是一个身份validation服务器,它只提供一种获取令牌的方法。

C#.NET使用Windows服务获取计算机的用户名

我很难获得使用Windows服务登录到计算机的用户名。 当同时使用System.Environment.UserName或WindowsIdentity.GetCurrent()。UserName我得到NTAUTHORITY \ SYSTEM但是当这个应用程序被推送时,我需要能够映射到登录到系统的人的UserID。 将使用的操作系统将是Windows XP。 任何帮助将非常感激。