小编Dar*_*era的帖子

YAML中的单个感叹号有什么作用?

我正在使用YamlDotNet库,我在加载YAML文件时遇到此错误:

解析标记时,未找到预期的标记URI.

YAML文件应该是格式良好的,因为它来自RoR.该错误似乎是由以下代码触发的:

formats:
  default: ! '%d-%m-%Y'
  long: ! '%d %B, %Y'
  short: ! '%d %b'
Run Code Online (Sandbox Code Playgroud)

我不是专家,但我从YAML规范中看到,您可以使用感叹号来指示自定义对象/类型,并使用两个感叹号来指示显式内置类型.

obj1: !custom # whatever
obj2: !!str "My string"
Run Code Online (Sandbox Code Playgroud)

但是,我无法找到任何对上面使用的感叹号的引用.这是什么意思,为什么我使用的YAML库似乎无法解析它?请注意,如果我删除这些惊叹号,该文件将被解析.

.net tags parsing yaml yamldotnet

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

TDD和ADO.NET实体框架

我最近一直在玩ADO.NET实体框架,我发现它适合我正在开发的项目的需求.我也发现其非侵入性很酷.

从现有数据库生成数据模型后,您将面临集成生成的模型和业务逻辑的任务.更具体地说,我习惯于集成测试我的类,这些类通过DAL接口的模拟/存根与数据存储交互.问题是您无法使用ADO.NET实体框架执行此操作,因为它生成的实体是没有接口的简单类.

问题是:如何将TDD方法应用于使用ADO.NET Entity Framework的应用程序的开发?这是可能的,还是应该迁移到另一个DAL生成工具集?

tdd ado.net integration-testing unit-testing entity-framework

17
推荐指数
2
解决办法
9490
查看次数

为什么即使使用静态机器密钥,HttpAntiForgeryException也会随机发生?

我们有一个在Windows Azure(最新的2.x操作系统版本)上运行的ASP.NET MVC 2(.NET 4)应用程序,它有两个Web角色实例.

我们使用MVC提供的防伪令牌来处理所有POST请求,我们在web.config中设置了一个静态机器密钥,因此一切都可以在多台机器上运行并重启.99.9%的案例完美运作.

然而,我们偶尔会记录一个HttpAntiForgeryException,并显示消息"未提供所需的防伪标记或无效".

我知道问题可能是浏览器中不允许使用cookie,但我们已经验证了这些问题并启用了cookie并正确地来回发送.

各种浏览器出现错误,显然会给用户带来问题,因为他们必须重复操作,否则会丢失一些数据.可以这么说,我们无法在本地重现问题,但它只发生在Windows Azure上.

为什么会这样?我们怎能避免它?

asp.net-mvc exception azure antiforgerytoken

17
推荐指数
3
解决办法
1万
查看次数

将静态变量锁定在非静态类中是否安全?

我有一个管理共享资源的类.现在,由于对资源的访问依赖于许多参数,因此在程序的正常执行期间,该类被实例化并被多次处理.

共享资源不支持并发,因此需要某种锁定.我想到的第一件事是在类中有一个静态实例,并在其上获取锁,如下所示:

// This thing is static!
static readonly object MyLock = new object();

// This thing is NOT static!
MyResource _resource = ...;

public DoSomeWork() {
    lock(MyLock) {
        _resource.Access();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是否有意义,或者您会使用其他方法吗?

.net c# concurrency static locking

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

如何从ASP.NET MVC局部视图(服务器端)注入CSS文件?

我有一个部分视图(.ascx)应该包含自己的CSS文件,因为它在多个其他视图中使用.如何在页面服务器端注入样式表,即不使用JavaScript?

css asp.net-mvc asp.net-mvc-2

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