具有引用类型变量的对象类型装箱

拳击是指将值类型分配给对象类型。 将引用类型分配给对象时是否相同? 如果分配了一个类型(不是对象),会发生什么? 那个拳击呢? int num=5; object obj = num; //boxing ////////////////////// MyClass my = new MyClass(); object obj = my; //what is name this convert (whethere is boxing?)

从.NET连接到LDAP服务器

我建议使用System.DirectoryServices.Protocols ,以支持连接到Active Directoy以外的LDAP服务器。 不幸的是,我无法正确搜索目录。 我希望能够为用户获得某个属性(例如mail )。 通过使用DirectorySearcher类,可以在System.DirectoryServices命名空间中轻松完成此操作。 如何在System.DirectoryServices.Protocols命名空间中实现相同的function。 这是我到目前为止所拥有的: var domainParts = domain.Split(‘.’); string targetOu = string.Format(“cn=builtin,dc={0},dc={1}”, domainParts[0], domainParts[1]); string ldapSearchFilter = string.Format(“(&(ObjectClass={0})(sAMAccountName={1}))”, “person”, username); // establish a connection to the directory LdapConnection connection = new LdapConnection( new LdapDirectoryIdentifier(domain), new NetworkCredential() { UserName = username, Password = “MyPassword” }); SearchRequest searchRequest = new SearchRequest( targetOu, […]

如何与TFS连接并获取特定用户的项目列表

public List ListAllProjects(){ TeamFoundationServer teamFoundationServer = TeamFoundationServerFactory.GetServer(@”http:\\ld-tfs08sp1:8080\\”); teamFoundationServer.Authenticate(); WorkItemStore workItemStore = new WorkItemStore(@”http:\\ld-tfs08sp1:8080\\”); List list = new List(); foreach (Project pr in workItemStore.Projects) { list.Add(pr.Name); } if (list.Count == 0) list.Add(“Not Found”); return list; }

Postgres bytea列返回字符串(char数组)而不是字节数组

我一直在使用C#为不同数据库的产品编写具体的提供程序实现。 W / out进入细节,其中一列是字节数组类型(postgres中的bytea – 由于首选项bytea是在blob上选择的)。 唯一的问题是,它不会返回插入的相同值。 当我插入Int32(“0”)时,我得到8 [92和8x 48](而不是[0,0,0,0])。 我需要一个性能明智的解决方案,它将返回我插入的纯字节,而不是8个字节上的值“0”的ASCII表示。 我正在使用Npgsql来检索数据。 如果有人知道c#的解决方案,我也很乐意学习它。 编辑: Postgres 9.0,.Net 3.5 简单化 命令查询: – 里面只有一个插入语句 select InsertOrUpdateEntry(:nodeId, :timeStamp, :data) 数据参数: byte [] value = BitConverter.GetBytes((int)someValue); 参数分配如下 command.Parameters.Add(new NpgsqlParameter(“data”, NpgsqlDbType.Bytea) { Value = value }); 选择陈述: select * from Entries 我输入了相同的字节数组,我想回去。 我将衷心感谢您的帮助。 输入:0 0 0 0 电流输出:92 48 48 48 […]

如何在PDFSharp中使用私有字体

我试图使用私有文本添加文本到PDF文档,即没有安装在系统上,TrueType字体和麻烦。 我正在使用NuGet的PDFSharp + MigraDoc WPF版本1.32.2608.0。 我在论坛和StackOverFlow上找到了很多项目。 最新的是这篇stackoverflow文章,它引用了PdfSharp站点上的这个例子 。 但是,此示例包含以下代码: this.fontFamilies.Add(key, fontFamily); 在第22行,但我在汇编中找不到任何对fontFamilies的引用。 因此,我遵循了看起来很好的例子 ,但它对我不起作用。 当我使用这种方法时,我可以成功添加字体但是当我来使用命令时: var font = new XFont(fontStyle.Name, new XUnit(fontStyle.SizePt, XGraphicsUnit.Point), XFontStyle.Regular, _fontOptions); 其中fontStyle.Name是前面没有#的字体名称。 此时,PdfSharp在PdfSharp.Drawing命名空间内的private void Initialise()方法内部中断。 此时检查Initialise方法中的变量它具有: 找到了字体系列,即this.family != null 找到了字体,即this.typeface != null 我假设它在线上断开if (!typeface2.TryGetGlyphTypeface(out typeface))但我不能确定。 注意:我已经尝试了.ttf和.otf字体无济于事。 有人能指出我正确的方向吗? 更新 最后我换成了PDFSharp WPF 1.50 beta,因为它的字体处理要好得多。 在我的第二个问题上看到这篇SOpost ,以及解决我问题的新字体解析器的信息。 现在一切都很好。

使用Umbraco Base返回Json而不是XML

我有一个.NET方法,可以为我的数据库添加一个新成员。 它通过AJAX请求完成此操作。 我有这个工作正常,但是我在返回正确的响应消息时遇到问题,因此我可以向用户打印正确的消息。 我的方法目前看起来像这样: public static string MemberRegister(int process) { //here we find form values posted to the current page HttpRequest post = HttpContext.Current.Request; //get values from ajax URL var name = post[“name”]; var email = post[“email”]; var username = post[“username”]; var password = post[“password”]; //check if email exists if (Member.GetMemberFromEmail(email) == null) { MemberType […]

亚马逊产品广告api – 项目查找请求工作示例

谁会有一个亚马逊ITEMLOOKUP的工作示例?> 我有以下代码,但它似乎不起作用: string ISBN = “0393326381”; string ASIN = “”; if (!(string.IsNullOrEmpty(ISBN) && string.IsNullOrEmpty(ASIN))) { AWSECommerceServicePortTypeChannel service = new AWSECommerceServicePortTypeChannel(); ItemLookup lookup = new ItemLookup(); ItemLookupRequest request = new ItemLookupRequest(); lookup.AssociateTag = secretKey; lookup.AWSAccessKeyId = accessKeyId; if (string.IsNullOrEmpty(ASIN)) { request.IdType = ItemLookupRequestIdType.ISBN; request.ItemId = new string[] { ISBN.Replace(“-“, “”) }; } else { request.IdType = […]

Automapper – 将多对多关联映射到平面对象的最佳实践

我有两个实体: Employee和Team 。 我想要的是一个拥有Team Name的EmployeeForm 。 如何使用AutoMapper实现此目的? 我目前的“解决方案”如下: Mapper.CreateMap() .ForMember(dest => dest.TeamName, opt => opt.MapFrom(x => x.GetTeams().FirstOrDefault() != null ? string.Join(“, “, x.GetTeams().Select(y=>y.Name)) : “n/a”)); 在我看来,这是可读的。 我想要的是一个generics方法,我可以传递一个实体,选择集合并说集合是否为null返回默认值,或者通过lambda表达式选择集合的属性。

检查键是否是字母/数字/特殊符号

我重写ProcessCmdKey ,当我得到Keys参数时,我想检查这些Keys是字母还是数字还是特殊符号。 我有这个片段 protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { char key = (char)keyData; if(char.IsLetterOrDigit(key) { Console.WriteLine(key); } return base.ProcessCmdKey(ref msg, keyData); } 一切都适用于字母和数字。 但是当我按下F1-F12时,它会将它们转换成字母。 也许有人知道更好的方法来解决这个任务?

FileStream.BeginWrite优于FileStream.Write?

我需要对同一个文件进行一批写操作,但是在文件中的不同位置。 我希望以最佳性能实现此目的,因此查看了同步FileStream.Write和异步FileStream.BeginWrite方法。 同步实现很简单,只需在循环中调用FileStream.Write所需的次数即可。 异步版本在循环中调用FileStream.BeginWrite,然后执行WaitHandle.WaitAll以阻止它们全部完成。 令我惊讶的是,这比简单的同步版本慢。 我使用正确的构造函数创建了FileStream,因此我可以请求异步操作,并且还测试了指示False的IAsyncResult.CompletedSynchronous属性,因此它们确实以异步方式运行。 似乎使用Be​​ginWrite的唯一好处是你在写入时不会阻塞你的线程。 除了这个好处之外,使用异步版本还有什么意义吗? 这是我用于播放异步方法的测试代码,可能有一个明显的错误? // Size of a chunk to be written to file var chunk = 1024 * 64; // Number of chunks to write async var reps = 32; // Create new file and set length var fs = new FileStream(@”C:\testfile.dat”, FileMode.Create, FileAccess.ReadWrite, FileShare.None, chunk, true); fs.SetLength(chunk * […]