小编WDu*_*ffy的帖子

当customerrors ="On"时,Application_Error未触发

我在global.asax文件的Application_Error事件中有代码,它在发生错误时执行,并将错误的详细信息发送给我自己.

void Application_Error(object sender, EventArgs e)
{
    var error = Server.GetLastError();

    if (error.Message != "Not Found")
    {
        // Send email here...
    }

}
Run Code Online (Sandbox Code Playgroud)

我在Visual Studio中运行它时工作正常,但是当我发布到我们的实时服务器时,Application_Error事件不会触发.

经过一些测试后,我可以Application_Error在设置时进行射击customErrors="Off",但是将其设置回来可以customErrors="On"阻止事件再次发射.

任何人都可以建议为什么Application_ErrorcustomErrors启用时不会被解雇web.config

application-error asp.net-mvc-3

123
推荐指数
4
解决办法
5万
查看次数

Moq中的单元测试Mock/Stub定义

我在单元测试中给出的任何阅读或建议总是暗示了Mock和Stub的定义之间的明显区别.我目前对这些定义的理解如下

模拟:假的,将在您的测试中用于做出最终断言

存根:一个假的,将在您的测试中用于隔离依赖但不被断言

然而,Moq似乎只允许创建Mocks.框架中的Stub命名空间似乎已被折旧,建议使用Mock.SetupXXX.

我对此有何看法?或者是否有一般性的理解,模拟对象实际上可以用作存根?

也许我是迂腐的,只是我总是发现编程中的语言非常严格,并且更喜欢让我正确使用它,特别是当其他开发人员可能接管一个项目时.

testing unit-testing moq

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

实体框架4公约

在EF4中是否可以更改整个DbContext的约定而不是基于每个实体?

目前,当我运行EF4查询时,我在外键关系上遇到错误

列名称"Account_Id"无效.

正在查询的表(用户)有一个名为AccountId的列,它是相关表(Account)的外键,如果我将列更改为Account_Id,它将解决问题.

但问题是我不想在每张桌子上都这样做.我使用NHibernate设置自定义约定没问题,所以希望它在EF4中很简单.

c# asp.net entity-framework

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

搜索分层数据的最佳方法

我正在寻找建立一个允许使用分层过滤查询数据的工具.我有一些想法,我将如何去做,但想知道是否有任何建议或建议可能更有效.

例如,假设用户正在搜索作业.工作领域如下.

1: Scotland
2: --- West Central
3: ------ Glasgow
4: ------ Etc
5: --- North East
6: ------ Ayrshire
7: ------ Etc
Run Code Online (Sandbox Code Playgroud)

用户可以搜索特定的(即格拉斯哥)或更大的区域(即苏格兰).

我正在考虑的两种方法是:

  1. 在每个记录的数据库中记下子项的注释(即cat 1在其子域中将有2,3,4)并使用a查询该记录SELECT * FROM Jobs WHERE Category IN Areas.childrenField.
  2. 使用递归函数查找与所选区域有关系的所有结果.

我从两者看到的问题是:

  1. 在数据库中保存此数据意味着必须跟踪结构的所有更改.
  2. 递归是缓慢且无效的.

关于最佳方法的任何想法,建议或建议?我正在使用C#ASP.NET和MSSQL 2005 DB.

c# asp.net sql-server-2005 recursive-query

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

如何测试通过公共方法修改的私有字段

任何人都可以用一种建议的方法来指导我测试通过公共方法修改的类中的私有字段.我已经阅读了很多人的意见,建议不建议测试私有成员,因为它们是实现的内部,但是这种情况似乎与大多数其他答案不同.

我正在考虑使私有字段受到保护并创建一个公开该字段的测试子类,但如果我无法修改该类的内部,该怎么办?

在下面的示例代码中,要测试的私有成员将是_values,它是一个只写集合,通过AddValue()接收新值.

public class Sample
{

    private Dictionary<string, string> _values;
    private DateTime _created;

    public Sample()
    {
        _values = new Dictionary<string, string>();
        _created = DateTime.Now;
    }

    public void AddValue(string key, string value)
    {
        _values.Add(key, value);
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# unit-testing

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

创建一个iPhone网站,调整纵向和横向的渲染大小

我正在创建一个简单的移动网站,专门在iPhone上呈现.我一直在研究视口设置,以便将网站固定为100%到目前为止,我发现尺寸是

Portrait: 320px
Landscape: 480px
Run Code Online (Sandbox Code Playgroud)

要以完全缩放渲染页面,我在html中使用了以下元标记

<meta name="viewport" content="width=device-width; initial-scale=1; user-scalable=no" />
Run Code Online (Sandbox Code Playgroud)

这在肖像中效果很好,但是当iPhone旋转到横向模式时,页面不会相应地调整大小,而是显示为放大.

任何人都可以建议如何纠正这种行为?

html iphone mobile-website web

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

传递给 Vue 动态组件的 props 不是响应式的

我正在使用 Vue 的动态组件根据要显示的内容加载组件。由于这些组件都有不同的 props,我构建了一个对象并通过 v-bind 传递它,这取决于我需要从原始状态模型中使用什么。

然而,当我这样做时,我失去了 Vue 的 props 数据流的反应性质。下面的代码示例显示了一个示例,其中名称在标准组件上发生了变化,但在动态版本上没有发生变化。

我希望这与复制到新对象中的字符串值有关,而不是对原始反应性属性的引用。任何人都可以就我如何按预期进行这项工作提出建议吗?

Vue.config.productionTip = false;

Vue.component("example-component", {
    props: ["name"],
    template: '<span style="color: green;">{{name}}</span>'
    }
);

var app = new Vue({
    el: "#app",
    data: {
        person: {
            name: "William"
        },
        component: null
    }
});

// Load the dynamic component
setTimeout(function() {

    app.component = {
        is: 'example-component',
        props: { name: app.person.name }
    }

    // Change the name
    setTimeout(function() {
        app.person.name = "Sarah";
    }, 2000);

}, 2000);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
            
    <strong>Standard Component</strong><br …
Run Code Online (Sandbox Code Playgroud)

vue.js vue-component

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

数据注释和MVC 1:1 ViewModel

在ASP.NET MVC中进行开发时,我使用1:1 ViewModel设置,其中viewmodel仅包含视图所需的数据.我还使用数据注释来验证viewmodel.

我担心的是,这不遵循DRY原则,因为我发现自己必须在我的网站中复制验证.我希望在一个地方(我的域模型)进行验证,但因为我从未将域模型发送到视图模型,所以这是不可能的.

我想知道是否有其他人遇到过这个问题并找到了合适的解决方法或者有更好的解决方案?

c# asp.net-mvc-2

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

AutoMapper问题将实体映射到Dictionary <Guid,string>

我遇到了一个我似乎无法解决的自动配置问题.

我有一个类型联系的实体,我正在尝试将这些列表映射到字典.但是,映射只是没有做任何事情.源字典保持为空.有人可以提供任何建议吗?

以下是Contact类型的简化版本

public class Contact
{
    public Guid Id { get; set ;}
    public string FullName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的自动配置如下所示

Mapper.CreateMap<Contact, KeyValuePair<Guid, string>>()
    .ConstructUsing(x => new KeyValuePair<Guid, string>(x.Id, x.FullName));
Run Code Online (Sandbox Code Playgroud)

我的调用代码如下所示

var contacts = ContactRepository.GetAll(); // Returns IList<Contact>
var options = new Dictionary<Guid, string>();
Mapper.Map(contacts, options);
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc automapper

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

检查两个表并查找不使用SQL的值

我有两个表,我从中返回一个参考代码.我需要比较这两个列表以查找仅存在于tableA或tableB中的引用,而不是两者中的引用.

例如,如果表A和表B具有以下数据

TABLE A References
01
02
04

TABLE B References
01
22
Run Code Online (Sandbox Code Playgroud)

我希望返回一个包含以下内容的表格

TABLE C References
02
04
22
Run Code Online (Sandbox Code Playgroud)

这个SQL让我很难过.有什么建议?

sql database join

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