.NET中的内存管理

有没有人在c#中有关于内存管理的指南,书籍或文章? 我想改进我的内存管理信息?

将’var’初始化为null

以下变量初始化之间的运行时性能是否有任何差异? var x = null as object; var x = (object)null; object x = null;

TPL Dataflow,如何将项目转发到许多链接目标块中的一个特定目标块?

我正在寻找一个TPL数据流块解决方案,它可以容纳多个项目,它可以链接到多个目标块,但是它能够将项目转发到仅通过filter/谓词的特定目标块。 任何时候都不应该将项目同时传递给多个目标块,始终只能与匹配filter的项目一起传递,否则该项目可以被丢弃。 我不喜欢BroadCastBlock,因为如果我理解正确,它不能保证传送(或者是吗?)并且过滤是在目标块侧完成的,这意味着BroadCastBlock基本上将每个项目的副本发送到所有linkedTo目标块。 如果我理解正确的话,它也不会在任何时候持有多个项目。 我不想使用Post / Async但维护LinkTo链。 是否有办法绕过完整的自定义数据流块? 或者我误解了BroadCastBlock的工作原理? 不幸的是,实际上没有太多文档可以详细介绍并涵盖用例。 任何想法都受到高度赞赏。

如何在转发器控制中查找控件?

我想启用或禁用’ParticipateBtn’,具体取决于EventStartDate。 我收到此错误:对象引用未设置为对象的实例。 开始日期: <asp:Button runat="server" ID="ParticipateBtn" CommandName="Participate" CommandArgument='’ Text=”Participate” />   背后的代码…… //Code behind protected string CheckEnability(DateTime eventstartdate) { if (eventstartdate.Date < DateTime.Now.Date) { Button btn = (Button)Repeater1.FindControl("ParticipateBtn"); btn.Enabled = false; } return eventstartdate.ToString("yyyy-MM-dd"); }

如何更新app.config文件中的值?

这是我的代码: Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); KeyValueConfigurationCollection settings = configuration.AppSettings.Settings; settings[“IP”].Value = “10.0.0.2”; configuration.Save(ConfigurationSaveMode.Modified); 当我打破settings[“IP”].Value线,我得到正确的值。 该方法完成没有任何错误,但app.config文件保持不变。

以编程方式制定图像大纲(最好是C#/ C ++编码,或伪编码)

我想向逻辑上的任何人请求帮助,以及制定图像轮廓的更好的示例代码。 为了更清楚,我说的是一个透明的图像。 比方说,我有一个中间有多边形的PNG图像,或者更好的岛屿顶视图。 现在,我想跟踪轮廓并在其上设置颜色。 就像Adobe Photoshop中的效果’笔画’一样。 我已经完成了那么多,我已经创建了一个跟踪轮廓的程序。 但我的问题是,它是线性扫描。 从左到右,然后向下,然后再从左到右。 我相信你明白了。 我希望跟踪流动,就像你手动跟踪它一样。 跟你一样跟踪圈子。 其目的是将其用作精确hover多边形的触发区域。 而且我的问题是,例如,有两个岛。 我希望我的疑问很明确。 任何建议,样品都表示赞赏。 但如果它是ac#代码forms或伪代码并有一些解释,那就更好了。 非常感谢提前。 – 增加: 此外,我想(我想我已经忘记提及)以顺序方式记录笔画的坐标。 所以我以后可以操纵它们。 这就是为什么我想以流动的方式制作概述逻辑。 这是我正在寻找的算法。 非常感谢!

HttpContext.Current.User未填充启用Windows身份validation

我有一个使用Windows身份validation的asp.net Intranet应用程序。 我几年前用VS 2005创建了应用程序,并且Windows身份validation位工作得很好。 我的web.config有以下内容(内部配置 – > system.web元素): 我在Firefox中对此进行了测试以确认是否需要凭据,实际上我在首次访问网站时提示我输入网络凭据,如果它们无效,我会被拒绝。 但是,当我尝试访问HttpContext.Current.User.Identity时,该对象具有Name和AuthenticationType的空字符串,以及Authenticated = false。 我想我可能需要在查看互联网后启用WindowsTokenRoleProvider,这并没有改变任何东西。 自从我上次看到它工作以来我做过的两件事是通过转换向导将项目升级到VS 2008,而且我也把它放了几个月,而我的同事可能在这里或那里工作过。 我很确定影响我的User.Identity的唯一因素是上面提到的web.config中的值,但显然我做错了。 其他人遇到类似问题或看到我做错了什么? 谢谢。

c#JSON序列化使用值而不是属性名称

我正在开发一个JSON驱动的项目,我想为SessionManager对象提供一个动态的权限列表。 虽然我可以使用一组键值对进行权限,但我想知道是否可以删除属性名称,以便键是Permission值, 值是IsAllowed值。 public class SessionPermission { public string Permission { get; set; } public bool IsAllowed { get; set; } } public class SessionManager { public string UserName { get; set; } public string Password { get; set; } public List Permissions { get; set; } public void SetPermissions() { Permissions = new List […]

如何使用crm sdk和C#从CRM 2011中的实体字段中获取选项集

如何使用crm sdk和C#从CRM 2011中的实体字段中获取选项集? 我只想与您分享一个直接的方法来获取实体中的字段选项集。

在.net中的SOAP信封中包装XML

我需要帮助将XML封装在第二方SOAP服务器的SOAP信封中。 第三方为入站请求和出站响应提供了xsd文件。 我已经使用xsd工具获取了这些XSD文件并创建了它们的C#类。 我的问题是我需要用SOAP信封包装序列化的请求,我不知道从哪里开始。 我正在查看Microsoft Web服务增强function3,但这表明它仅适用于.net 2.0和VS2005。 我正在使用VS2012和.net 4.5。 此外,我已经考虑通过Web服务连接到服务器,但它似乎不兼容, 并且没有WSDL 。 以下是SOAP服务器对入站请求的预期示例。 1 12345 这就是序列化XML字符串的样子。 1 12345 代码我用于我的网络请求和响应。 Byte[] byteArray = System.Text.UTF8Encoding.UTF8.GetBytes(data); WebRequest webRequest = WebRequest.Create(@”http://myserver:8888″); webRequest.ContentLength = byteArray.Length; webRequest.ContentType = @”text/xml; charset=utf-8″; webRequest.Headers.Add(“SOAPAction”, @”http://schemas.xmlsoap.org/soap/envelope/”); webRequest.Method = “POST”; Stream requestStream = webRequest.GetRequestStream(); requestStream.Write(byteArray, 0, byteArray.Length); requestStream.Close(); requestStream.Dispose(); WebResponse webResponse = webRequest.GetResponse(); Stream responseStream = […]