正如我刚才所了解的那样,Android保留随时终止后台应用程序进程的权利,以便回收RAM.该应用程序仍在运行,并仍然可以恢复,但我所有的静态变量都不见了(见本文章).
我想在这种情况下模拟我的应用程序的行为.最简单的方法是什么?当然,必须有一种更简单,更可预测的方式,而不是编写一些分配大量内存的应用程序.
我有3天时间学习ASP.NET MVC的基础知识,并用它创建一个非常小的PoC Web应用程序.
目前最好的在线资源是什么:
我不是在寻找有关MVC模式的一般信息,因为我在过去(桌面)应用程序中使用它.
这个问题之前已经问到了SO,但我看到的大线程已经有半年左右了,看到ASP.NET发展的速度我不确定这些是否仍然是最新的,如果没有现在更好的选择.
我正在实现一个客户数据库,它允许我使用ASP.NET MVC和javascript(jQuery)搜索用户和公司,浏览和编辑他们的详细信息以及许多其他内容.
无论何时发生post或get,我都会通过jQuery.load执行此操作并将PartialView插入DOM.
一些部分视图包括表单.我希望那些也是ajax表单,所以这些partialviews具有document.ready处理程序,将表单转换为ajax表单(通过jquery.form).
一开始我在回调/代码中处理这个问题,将部分视图插入到DOM中.但是,这导致了一个包含大量javascript函数的大脚本,这些函数引用了不同的页面.我通过将脚本插入相应的页面来重构大javascript.
现在代码更加流畅(我的OnXXXPartialView处理程序更少),代码整齐地位于它所属的局部视图中.大多数这些文件只包含3-4行javascript代码,因此开销并不是很重要.
因此,我不仅有效地向文档DOM添加元素,有时我还添加了一段javascript.在实践中,这工作正常,但似乎Firebug无法调试动态加载的脚本.
Firebug问题有一些可行的解决方法,但我想知道我的架构是否真的是这里的罪魁祸首.你把javascript属于部分视图?有没有最好的做法?
我已经在ASP.NET MVC项目上工作了大约8个月了.在大多数情况下,我一直在使用TDD,只有在我编写实际代码之后才能通过单元测试来涵盖某些方面.总的来说,该项目的测试覆盖率非常高.
到目前为止,我对结果非常满意.重构真的更容易,我的测试帮助我在第一次运行我的软件之前发现了很多错误.此外,我开发了更复杂的假货和帮手,以帮助我最小化测试代码.
但是,我不喜欢的事实是,我经常发现自己必须更新现有的单元测试,以解释我对软件所做的重构.重构软件现在快速而轻松,但重构我的单元测试非常乏味和乏味.实际上,维护我的单元测试的成本高于首先编写它们的成本.
我想知道我是否可能做错了,或者测试开发与测试维护成本的关系是否正常.我已经尝试过编写尽可能多的测试,以便这些测试覆盖我的用户故事,而不是像本博客文章中所建议的那样系统地覆盖我的对象界面.
另外,您是否有关于如何编写TDD测试的进一步提示,以便重构尽可能少地进行测试?
编辑:正如Henning和tvanfosson正确评论的那样,通常设置部分的编写和维护成本最高.破坏的测试(根据我的经验)通常是对域模型进行重构的结果,这些重构与这些测试的设置部分不兼容.
我正在尝试将一些javascript文件迁移到旧版ASP.NET MVC 5项目中的Typescript.我已经创建了一个Typescript文件,从TS到JS的编译按预期工作,但我的遗留项目属性中没有"Typescript Build"选项卡.
在处理新的ASP.NET MVC 5项目时,我没有遇到此问题.我如何在遗留项目中解决这个问题?我正在使用Visual Studio 2013 Update 1.
谢谢,
阿德里安
这可能是一个不寻常的问题,但有没有任何框架或至少一些帮助类可以帮助我使用GNU Gettext来本地化C#ASP.NET MVC网站?我一直在以前的(托管代码)项目中使用Gettext,并且非常欣赏使用PoEdit来翻译资源的可能性.
我想这意味着编写一些HtmlHelper扩展方法,可以从Gettext中提取资源字符串.甚至似乎有某种C#gettext包装器,但我无法找到手册或教程.任何指针都将非常感激.
谢谢,
阿德里安
当通过F10逐行单步执行C#代码时,调试器需要一秒钟才能到达下一行.
我已经尝试删除所有手表和断点,但这没有任何区别.
这是正常的吗?很长一段时间以来都是这样,所以我甚至不记得这是否更好.我的开发计算机是一台四核机器,没有后台任务活动,剩下大量内存.
如果这不正常,我还能尝试什么?它仍然可以使用,但一个不那么迟钝的用户界面将是伟大的...
我正在使用Visual Studio 2010和Resharper开发中型ASP.NET MVC解决方案.当我在1年半前开始开发它时,该项目非常快,但随着时间的推移,它变得越来越慢 - 不仅是编译,而且是ASP.NET重新初始化网站所需的时间.由于我经常练习TDD和重构,我经常需要重新编译重新运行我的测试,所以我正在寻找方法来缓解这种情况,如果可能的话.
这个问题详细
从开始重新编译项目到能够在Web浏览器中查看结果,我需要大约20-25秒.
使用Resharper测试运行器运行单个单元测试(仅一个测试,而不是整个套件)也非常慢(大约15-20秒).出于一些奇怪的原因,似乎Resharper大部分时间都在初始化测试运行并且只花费很小一部分实际运行测试.
我已经做了什么:
然而,我仍然坚持上述(慢?)数字,我觉得这会损害我的生产力.现在我想知道下一步该做什么.
我目前的系统设置:
我的解决方案的规格:
现在我的问题:
谢谢,
阿德里安
编辑:一个特别奇怪的事情是,当我点击"构建解决方案"按钮时,Visual Studio花了大约8秒钟向我显示一个等待符号,直到它实际开始编译并且正在更新编译窗口.在此期间,IDE是不受欢迎的.这是实际编译时间的很大一部分.我想知道Visual Studio在此期间做了什么?
我编写了一个ASP.NET MVC操作方法,它接收.less文件名,通过它处理Less.Parse(<filename>)并输出处理过的css文件.
只要.less代码有效,这样就可以正常工作,但是如果有错误,则dotLess只返回一个空字符串.因此,如果处理文件时出错,我的action方法将返回一个空的css文件.
如何输出错误消息,而是更详细地描述语法错误?
实体框架代码优先是开发新项目的一个很好的框架.但是扩展现有数据库呢?
例如,如果我只想在现有数据实体中添加其他属性,该怎么办?有没有"代码优先"的方法来实现这一点,还是我必须使用SQL Server Management Studio或类似工具手动添加数据库列?
到目前为止,我发现的是如何在架构更改时从头开始重新生成整个数据库,但我不想丢失我的数据.
如果我没弄错的话,Ruby on Rails有一个工具可以生成反映新数据库更改的SQL脚本.有没有办法在EF Code First中执行此操作?
entity-framework database-schema ef-code-first entity-framework-4.1
asp.net-mvc ×5
.net ×2
asp.net ×2
c# ×2
android ×1
architecture ×1
css ×1
debugging ×1
dotless ×1
emulation ×1
gettext ×1
hardware ×1
javascript ×1
jquery ×1
localization ×1
memory ×1
multitasking ×1
process ×1
refactoring ×1
reference ×1
tdd ×1
typescript ×1
unit-testing ×1