小编Vya*_*ava的帖子

访问Modified Closure

string [] files = new string[2];
files[0] = "ThinkFarAhead.Example.Settings.Configuration_Local.xml";
files[1] = "ThinkFarAhead.Example.Settings.Configuration_Global.xml";

//Resharper complains this is an "access to modified closure"
for (int i = 0; i < files.Length; i++ )
{
    // Resharper disable AccessToModifiedClosure
    if(Array.Exists(Assembly.GetExecutingAssembly().GetManifestResourceNames(),
    delegate(string name) { return name.Equals(files[i]); }))
         return Assembly.GetExecutingAssembly().GetManifestResourceStream(files[i]);
    // ReSharper restore AccessToModifiedClosure
}
Run Code Online (Sandbox Code Playgroud)

虽然ReSharper抱怨这是"访问修改后的闭包",但上述情况似乎工作正常.任何人都可以阐明这一点吗?

(这个主题在这里继续)

c# resharper closures

310
推荐指数
2
解决办法
8万
查看次数

如何将失败的项目重回正轨?

您一定听说过失败/失败项目的原型故事:

  1. 一支缺乏经验的程序员团队全天候工作
  2. 修复错误只是为了引入新的错误
  3. 客户尖叫他甚至不能做基本的东西(保存/查询)等.
  4. 程序员过去常常会通过规范来进行即兴创作
  5. 没有自动化的单元测试会加剧这种情况
  6. 在实际上没有遵循在纸上看起来不错的架构文档
  7. 使用的第三方组件首先成为尚未经过健身测试的瓶颈
  8. 里程碑错过后的里程碑
  9. 由于没有人同意实际需要完成的工作量,团队无法提出交付日期
  10. 没有技术领导/或牛仔编码员可以承担技术问题

现在,如果你被带入#10那么你的第一步是什么?

更新:首先:感谢你们所有人都在努力.好吧......我被带进#10.当我们向客户提出建议时,我是最初的建筑师.然后,不幸的是,由于我被分配到其他地方,我无法承担交付责任.:)

假设它是现有桌面应用程序的Web化.我现在被带进#10.遗憾的是,逃跑不是一种选择.我确信这仍然可以通过遵循敏捷的最佳实践来逆转,并且只是想挖掘社区的想法.

更大的问题可能是:如果开发团队没有规范,只有运行应用程序的(基线)代码,原始解决方案要求查看代码并动态提取业务规则.现在,没有经验的程序员不愿意看VB 6.0代码并想要文档!那么如果你要实现敏捷流程,你如何解决这个问题呢?

project-management development-process

19
推荐指数
5
解决办法
3803
查看次数

ASP.Net MVC与HTML + KnockoutJS + WebAPI

我想知道为什么不在ASP.Net MVC 4 Web项目中使用静态HTML文件,这些文件使用jQuery + jQuery模板+ KnockoutJS组合消耗基于REST(在Azure上托管的ASP.Net MVC 4 WEB API并使用ACS保护).Web API可以使用Entity Framework并返回可以使用$ .ajax()检索并使用KnockoutJS绑定的JSON序列化对象.

什么是ASP.Net MVC(用于网页)提供了增加这种架构的价值?
在我的头顶,我能想到:

  1. 多设备支持(设备检测和模板更换)
  2. 提交数据的服务器端验证(不确定,因为我也可以将验证放在WEB API上?)
  3. 即使我使用的是静态html文件,我仍然可以重写我的URL(因为我正在使用ASP.Net MVC).

有人能帮助我更好地理解这一点吗?提前致谢.

architecture jquery asp.net-mvc-4 knockout.js

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

实体框架和LINQ to SQL - 利益冲突?

过去一周,我一直在博客圈阅读Linq to SQL已经死亡[以及EF和Linq to Entities的长期存在].但是当我阅读MSDN上的概述时,我觉得Linq to Entities就像Linq to SQL生成SQL查询一样生成eSQL.

现在,由于底层实现(以及SQL Server还不是ODBMS)仍然是一个Relational存储,在某些时候,Entity框架必须转换为SQL查询.为什么不修复Linq to SQL问题(m:m关系,只有SQL服务器支持等)并使用Linq to SQL作为生成这些查询的层?

这是因为性能还是EF使用不同的方式将eSQL语句转换为SQL?

在我看来 - 至少对于我没有学过的头脑 - 在EF中自然适合Linq to SQL.

评论?

linq linq-to-entities entity-framework entity-sql linq-to-sql

13
推荐指数
2
解决办法
2498
查看次数

如何:在 Azure DevOps YAML 中有条件地插入模板?

以下是我尝试完成有条件插入模板的方法。根据要求,我想根据运行时提供的管道变量调用 fresh-deploy.yml 或 update.yml 。用户可以将名为“freshInstall”的变量编辑为 true 或 false。

主管道(入口点):

# azure-pipelines.yml
variables:
  shouldUpdate: 'false'

jobs:
  - job: TestJob
    pool:
      name: "Vyas' Local Machine"
    steps:
    - checkout: none
    - template: ./testIf.yml
      parameters:
        freshInstall: $(freshInstall)
Run Code Online (Sandbox Code Playgroud)

testif.yml:

# testIf.yml
parameters:
  - name: freshInstall
    type: string  # Can't be boolean as runtime supplied variable values ARE strings

steps:

  # set a preexisting variable valued 'false' to 'true'
  - powershell: |
      $shouldUpdate = 'true'
      Write-Host "##vso[task.SetVariable variable=shouldUpdate]$shouldUpdate"
    displayName: 'Set Should Update to $(shouldUpdate)'

  # Check …
Run Code Online (Sandbox Code Playgroud)

azure-devops azure-pipelines azure-pipelines-yaml

13
推荐指数
2
解决办法
2万
查看次数

数据驱动单元测试

测试依赖于数据库数据的API的最佳实践是什么?在作为构建过程的一部分运行单元测试的"持续集成"环境中,我需要注意哪些问题?我的意思是你将数据库部署为构建脚本的一部分(可能运行安装程序),还是应该使用硬编码数据[使用XML进行MSTest数据驱动单元测试]?

我知道我可以模拟业务逻辑层的数据层但是如果我在DAL的SQL语句中遇到问题怎么办?我确实需要点击数据库,对吧?

嗯......这是一大堆问题:)...想法?

unit-testing mstest mocking data-driven-tests

12
推荐指数
2
解决办法
3147
查看次数

功能规范和敏捷过程

在传统的瀑布中,需求被收集 - 通常在MS-Word文档中 - 遵循一个深奥的模板.在"严格"瀑布模型中,此文档在需求阶段后冻结,并且变更控制/变更管理流程负责引入受控变更.(**)[通常,文件变成"活文件",最终成为"生活噩梦"]

目前,我将领导一个项目,将现有桌面应用程序重写为Web(从VB 6.0到ASP.Net).客户端具有他想要重写的应用程序的基线版本.[所以要求被冻结......没有范围蔓延].要按原样重用的数据模型.仅迁移前端/业务规则.看看应用程序,我觉得它最多是3/4主屏幕就是这样.

一些团队成员希望在他们开始新开发之前记录(在我看来,旧的思想流派).我和其他一些人认为,将UI转换为Web,查找旧代码,编写业务逻辑,进行自动化单元测试,继续进行集成测试以及按屏幕(或按功能划分的业务功能)进行屏幕显示相对容易

我的问题是:在敏捷开发中,如果我不优化它,我将如何保持"敏捷".我的意见是编写详细的文档是反敏捷的.你怎么看?敏捷大师将如何解决上述问题(将现有的VB 6.0应用程序重写为ASP.Net)?


免责声明: 创建1000页的功能规格可能是为了履行合同义务,这是一种政治需要,系统可能真的很复杂(现在,"复杂性"的定义是一片黑暗的旅程).

agile waterfall agile-processes

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

C#中的ISO 9797-1算法1 [CBC-MAC]

似乎CBC-MAC算法有6种变化.我一直在努力匹配PINPad 1000SE上的MAC算法[每本手册都是ISO 9797-1算法1].

我从这里开始了一个很好的开始.

我将算法编码如下:

public static byte[] CalculateMAC(this IPinPad pinpad, byte[] message, byte[] key)
{
    //Divide the key with Key1[ first 64 bits] and key2 [last 64 bits]
    var key1 = new byte[8];
    Array.Copy(key, 0, key1, 0, 8);

    var key2 = new byte[8];
    Array.Copy(key, 8, key2, 0, 8); //64 bits

    //divide the message into 8 bytes blocks
    //pad the last block with "80" and "00","00","00" until it reaches 8 bytes
    //if the message already can be divided …
Run Code Online (Sandbox Code Playgroud)

algorithm cbc-mac

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

无法修改表达式,因为它不是变量

我试图在Windows窗体上获取一个UserControl(其上有一个网格)来调整大小.以下代码是我在表单中的内容.我得到的行为是,当我把它变大时,控件会被调整大小.但它并没有缩小.我做错了什么(或)我错过了什么?

private void AdjustGrid()
{
    ZoomControl.Location = new Point(5, 5);
    ZoomControl.Size = new Size(this.Width - 15, this.Height - 75);
}

void zoomform_Resize(object sender, EventArgs e)
{
    AdjustGrid();
}
Run Code Online (Sandbox Code Playgroud)

现在用户控件具有以下代码:

//Resize the grid that the UserControl has on it
private void NameValuePropertyBag_Resize(object sender, EventArgs e)
{
    grdNameValueProperties.Location = new Point(4,4);
    grdNameValueProperties.Size = new Size(this.Width - 8, this.Height - 8);
}
Run Code Online (Sandbox Code Playgroud)

我试过了

grdNameValueProperties.Size.Width = this.Width - 8;
grdNameValueProperties.Size.Height = this.Height -8;
Run Code Online (Sandbox Code Playgroud)

它给了我"无法修改表达式,因为它不是变量"错误...我错过了什么?

附加信息:

我正在使用SetParent()Windows调用将UserControl移动/缩放到另一个窗体(ZoomForm). Anchor似乎不适用于使用SetParent()移动的控件...更确切地说,它可能正在工作,但我重新绘制了问题.

我让Anchor/Dock对工作没有重新绘制问题[我删除了调整大小事件连线并调整了Dock to Fill]

ZoomForm最初没有控件.Usercontrol动态添加到ParentForm.

目前,我可以使用上面的代码使缩放形式更大 …

c# user-controls winforms

6
推荐指数
2
解决办法
2万
查看次数

如何编写离线silverlight应用程序?

如何编写离线silverlight应用程序?我在数据库服务器上运行数据库,在应用程序服务器上运行应用程序,但是如果用户想要在离线模式下运行应用程序,则可以在离线状态下向他看到相同的ui,也可以在文件中本地存储所有数据稍后同步.

silverlight silverlight-3.0

5
推荐指数
1
解决办法
2059
查看次数