小编Jak*_*cki的帖子

AngularJS - 删除绑定以避免内存泄漏

AngularJS中断开绑定的正确方法是什么?

我有一个无角应用程序,它正在加载一个使用angularjs进行数据绑定的组件.在某些时候,我想破坏组件,并希望确保没有内存泄漏.如何告诉angular从DOM的那一部分删除所有事件监听器?

$(node).remove()做的伎俩,还是有角度做内存中需要清理的其他东西......?关于避免角度内泄漏的任何其他提示将不胜感激.

javascript data-binding memory-leaks angularjs

14
推荐指数
1
解决办法
7962
查看次数

UI数据绑定:替代方案和未来

UI数据绑定也称为从应用程序的商业层/数据模型到UI以及从UI返回到数据模型的信息/数据传输,接口被语言和框架设计者稍微忽略.

今天软件系统处理的几乎所有信息都必须在处理链的某个点上呈现给人类用户,我们从编程系统获得的向用户呈现信息的支持主要包括难以维护的传输方法,一些系统使用反射没有编译时验证("propertychanged"任何人?),或者是自组织代码生成器.

我的意思是Erik Meijer,Anders Hejlsberg和他们的团队为解决数据库,XML和代码之间的阻抗不匹配付出了巨大的努力......但是大部分都忽略了UI.(是的.net有数据绑定,但尝试使用它,然后让我们谈谈一个真正的解决方案)重点是:什么是不将数据绑定作为语言fe的头等特征处理的理性?为什么今天我们的工具中只有这么有限(或没有)支持MVC/MVP模式?

请提供有关可用替代概念的评论,提示和指示,甚至可能在该领域正在进行中.是否有任何新的创意和新想法?任何有用的框架,支持数据绑定的语言概念,以及可能帮助您在应用程序或系统中处理数据绑定的工具?

language-agnostic data-binding

11
推荐指数
1
解决办法
2419
查看次数

未来的编程语言如何更好地促进抽象?

设计可理解软件(实际上,设计任何东西)的关键属性之一是开发一组良好的抽象.目前,这些抽象包括函数,类,接口,递归和高阶函数等.但还有什么呢?我们怎样才能进一步抽象出我们的设计,这样我除了直接,直接的目标外,我不需要考虑任何事情?现有技术尚未利用哪些新颖的抽象?

另请注意,我列表中的大多数项目(可能是递归的例外)也是用于代码重用的工具.代码重用不是这个问题的主题,也不是我认为良好抽象的必要方面.函数作为抽象很有用,因为它们隐藏了描述性名称背后的内容,而不是因为我可以从几个不同的地方调用它们.

一个结构不良的想法:一个驱动程序函数只调用一系列其他函数,而不维护它自己的任何状态,真的和函数一样吗?我们把它写成一个函数,并将其称为函数,但它可能代表了一个不同的概念?这通过在返回值和过程而不返回值的过程之间进行区分来反映在某些语言中.但也许有更好的方法来查看这种差异,以某种不同的方式来抽象相对不相关的步骤序列?

重申一下,未来的编程语言如何才能更好地促进抽象?

abstraction programming-languages

10
推荐指数
2
解决办法
874
查看次数

Azure PowerShell命令行开关和命令行工具之间有什么区别?

Azure PowerShell命令行开关命令行工具之间有什么区别?

  • 能力有差异吗?
  • 是大约在同一时间发布的新版本吗?
  • 是其中一种管理Azure资源的"首选"方式?

我有兴趣从开发人员的机器以及Ci服务器(TeamCity/MSBuild - 启动/停止VM)管理网站,虚拟机和云服务.

我注意到命令行工具下载量只有5MB左右,而PowerShell命令行开关有几个依赖项(~22MB),而2013年6月版仍然依赖于Azure SDK 1.8 2012年10月.

powershell azure

10
推荐指数
1
解决办法
6470
查看次数

属性/方法内联和对反射的影响

我的回答对这样问题的一个被瓦伦丁Kuzub,谁认为,通过JIT编译器内联属性将导致反射停止工作评价.

案件如下:

class Foo
{
    public string Bar { get; set; }

    public void Fuzz<T>(Expression<Func<T>> lambda)
    {
    }
}

Fuzz(x => x.Bar);
Run Code Online (Sandbox Code Playgroud)

Fuzzfunction接受lambda表达式并使用反射来查找属性.这是MVC HtmlHelper扩展中的常见做法.

即使Bar属性被内联,我也不认为反射会停止工作,因为它的内部调用Bar将被内联,并且typeof(Foo).GetProperty("Bar")仍然会返回有效的内容PropertyInfo.

你能否证实这一点,或者我对方法内联的理解是错误的?

c# reflection inlining

9
推荐指数
1
解决办法
261
查看次数

DocumentDB客户端1.14杀死了运行进程

将DocumentDB客户端升级到版本1.14.0(CosmosDB更改)后,我的应用程序在Azure中作为云服务运行时意外终止.我在本地针对最新版本的模拟器运行它没有问题.在针对Azure CosmosDB实例在本地运行它时,我也没有遇到任何问题.这似乎指向云服务环境的一些问题(降级到以前的版本1.13.4工作).

以下是事件日志中的错误:

Faulting application name: Application.exe, version: 1.0.21.0, time stamp: 0x59196ef2
Faulting module name: DocumentDB.Spatial.Sql.dll, version: 1.14.8.3, time stamp: 0x59125a74
Exception code: 0xc000001d
Fault offset: 0x0000000000074753
Faulting process id: 0x1754
Faulting application start time: 0x01d2cd9ce28ddb4f
Faulting application path: C:\Resources\directory\08707c89190040c7b18ae72ed40addee.Host.LocalStoreDirectory\orleans-backend\1.0.21\Application.exe
Faulting module path: C:\Resources\directory\08707c89190040c7b18ae72ed40addee.Host.LocalStoreDirectory\orleans-backend\1.0.21\DocumentDB.Spatial.Sql.dll
Report Id: da991426-1eff-4d89-bf21-118198848fef
Faulting package full name: 
Faulting package-relative application ID: 

Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.InteropServices.SEHException
   at Microsoft.Azure.Documents.ServiceInteropWrapper.GetPartitionKeyRangesFromQuery(IntPtr, System.String, Boolean, Boolean, System.String[], UInt32[], UInt32, Microsoft.Azure.Documents.PartitionKind, …
Run Code Online (Sandbox Code Playgroud)

azure azure-cloud-services azure-cosmosdb

8
推荐指数
1
解决办法
668
查看次数

LINQ之后的下一件大事是什么?

当它还处于测试版时,我开始使用LINQ(语言集成查询),更具体地说是Microsoft .NET LINQ Preview(2006年5月).差不多4年了,我们在很多项目中使用LINQ来完成最多样化的任务.

我甚至根据LINQ编写了我的最终大学项目.你看我喜欢它.

LINQ以及最近的PLINQ(并行LINQ)在提高编程能力和减少代码行数方面为我们的工作提供了极大的推动力,使我们能够获得更具表现力和可读性的代码.

我一直在想LINQ之后C#的下一个重大语言改进.

我知道有一些突出的语言功能作为代码合同等,但没有任何影响LINQ.

您认为下一件大事是什么?

c# linq language-features plinq

7
推荐指数
1
解决办法
1274
查看次数

MVC2 - 如何在模板中获取父模型(容器)

我正在使用DataAnnotations编写MVC2应用程序.我有以下型号:

public class FooModel 
{
    [ScaffoldColumn("false")]
    public long FooId { get; set; }

    [UIHint("BarTemplate")]
    public DateTime? Bar { get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我想为Bar创建一个自定义显示模板.我创建了以下模板:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DateTime?>" %>

<div class="display-label">
    <span><%: Html.LabelForModel() %></span>
</div>
<div class="display-field">
    <span><%: Html.DisplayForModel()%></span>
    <%: Html.ActionLink("Some link", "Action", new { id = ??FooId?? }) %>
</div>
Run Code Online (Sandbox Code Playgroud)

现在,我的问题是Bar的内部模板我想从我的模型访问另一个属性.我不想为FooModel创建单独的模板,因为我将不得不对所有其他FooModel属性进行硬编码.

在使用调试器进行简短调查后,我可以看到:

  1. this.ViewData.ModelMetadata.ContainerTypeFooModel(正如预期的那样)
  2. this.ViewData.TemplateInfo有一个非公共属性VisitedObjects (类型 System.Collections.Generic.HashSet<object>),包含两个元素: FooModelDateTime?.

如何访问我的FooModel?我不想破解我使用Reflection的方法.

更新:

我已经接受了mootinator的回答,因为它认为我是允许类型安全的最佳解决方案.我也赞成了Tx3的答案,因为mootinator的答案建立在它之上.尽管如此,我认为在这种场景中应该有更好的MVC支持,我认为这在现实世界中非常普遍,但在示例应用程序中却缺少.

templates model modelmetadata asp.net-mvc-3 asp.net-mvc-2

6
推荐指数
1
解决办法
2291
查看次数

为MVC3应用程序配置Ninject的正确方法是什么?

我已经阅读了几篇关于Ninject for MVC3项目设置的文章.

有人说你的Global.asax.cs应该继承自NinjectHttpApplication,其他人则在通过Application_Start()构造StandardKernel时注册模块.

我个人使用NuGet,它以不同的方式创建AppStart_NinjectMVC3类,并使用它启动它

[assembly: WebActivator.PreApplicationStartMethod(typeof(MyApp.AppStart_NinjectMVC3), "Start")]
Run Code Online (Sandbox Code Playgroud)

每个都有任何优点/缺点吗?

ninject webactivator asp.net-mvc-3

6
推荐指数
1
解决办法
2330
查看次数

ASP.NET MVC3如何直接从控制器引用视图

在我的控制器中,我想指定一个不同于默认值的视图.像这样 :

public ActionResult EditSurvey(Int32 id)
    {

        Survey survey = _entities.Surveys.Single(s => s.Id == id);

        return View("Survey",survey);
    }
Run Code Online (Sandbox Code Playgroud)

但是我没有将视图指定为字符串("Survey"),而是想直接引用它,所以如果我决定稍后更改我的视图名称,则不必手动更改此字符串.

所以我正在寻找这样的东西:

public ActionResult EditSurvey(Int32 id)
    {

        Survey survey = _entities.Surveys.Single(s => s.Id == id);

        return View(Views.Admin.Survey,survey);
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc t4mvc asp.net-mvc-3

6
推荐指数
1
解决办法
1856
查看次数