小编Joh*_*yre的帖子

使用NET40-NoCastle时为什么'Moq.Proxy.CastleProxyFactory'类型初始化程序异常?

所以我几乎逐字地复制了Moq主页中的示例代码,并且获得了城堡代理异常.

这是我的代码(作为一个更容易的样本的控制台应用程序)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Moq;

namespace MoqTestConsole
{
    public interface ILoveThisFramework
    {
        bool DownloadExists(string s);
    }

    class Program
    {
        static void Main(string[] args)
        {
            Mock<ILoveThisFramework> mock = new Mock<ILoveThisFramework>();

            // WOW! No record/replay weirdness?! :)
            mock.Setup(framework => framework.DownloadExists("2.0.0.0")).Returns(true);

            // Hand mock.Object as a collaborator and exercise it, 
            // like calling methods on it...
            ILoveThisFramework lovable = mock.Object;
            bool download = lovable.DownloadExists("2.0.0.0");

            // Verify that the given method was indeed called with …
Run Code Online (Sandbox Code Playgroud)

c# testing unit-testing moq mocking

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

为什么我的javascript文件没有在IE7中"一致"加载?

在似乎是随机出现的情况下,javascript文件未加载.

我相信这个诊断是正确的,因为a)我有代码要检查,b)我已经完成了代码,并且c)当使用这些文件中的函数时,我得到"'myfunction'未定义"错误.

有时这不会发生一个小时,有时它会在我每次加载页面时发生,有时它会在我加载页面时发生.似乎每当我确定一致的行为,所以我可以重复它并进行诊断,它会发生变化!

有没有人知道可能导致这种情况的原因是什么?

我正在使用 :

  • IE版本7.0.5730.11(已卸载并卸载IE8 Beta)
  • VS2008

现在,它似乎只发生在我的同事和我的开发环境中.

有一个脚本似乎比任何其他脚本都缺少.这是脚本标记.

<script language="javascript" 
        type="text/javascript" 
        src="js/Ajax.Utility.js?<%= ConfigurationManager.AppSettings["WebApp.JavaScript.FileVersion"].ToString() %>"></script>
Run Code Online (Sandbox Code Playgroud)

评估为

<script language="javascript" 
        type="text/javascript" 
        src="js/Ajax.Utility.js?090324a"></script>
Run Code Online (Sandbox Code Playgroud)

版本查询字符串参数似乎没有任何影响,因为我在更改它之后立即遇到了问题.

javascript asp.net internet-explorer

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

如何防止类图中的属性名称被排序?

我倾向于设计我的类,其属性按照对我有意义的顺序排序.例如; 我总是在开头附近创建像'id'这样的关键信息,然后是更少和更不重要的数据,最后在接近结尾处记录"创建日期"等元数据.

但是当我将类添加到Visual Studio的(2010)类图中时,它按字母顺序对属性进行排序.无论如何要关闭此功能?

编辑(11/05/11):

例如,我有以下课程

public class Email
{
    public Int64 Id { get; set; }
    public Int64 UserId { get; set; }
    public string Name { get; set; }
    public string EmailAddress { get; set; }
    public DateTime CreateDate { get; set; }
    public DateTime UpdateDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是当我将它添加到我的图表时,它按以下顺序显示属性:

CreateDate
EmailAddress
Id
Name
UpdateDate
UserId
Run Code Online (Sandbox Code Playgroud)

而不是我期望的顺序

Id
UserId
Name
EmailAddress
CreateDate
UpdateDate
Run Code Online (Sandbox Code Playgroud)

class-diagram visual-studio-2010

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

有多少物体太多了?

在设计应用程序时,是否存在太多对象的问题?如何确定何时跨越对象模型中的粒度线?

oop

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

IdbConnection与SqlConnection

当我编写应用程序时,我使用System.Data接口(IDbConnection,IDbCommand,IDataReader,IDbDataParameter等...).我这样做是为了减少供应商的依赖性.除非,我正在做一个简单的测试应用程序,在咨询时看起来似乎是道德的事情.

但是,我看到的所有代码似乎都使用System.Data.SqlClient命名空间类或其他特定于供应商的类.在杂志和书籍中,很容易将其归结为微软的影响力以及他们的营销转向仅针对SQLServer进行编程.但它看起来像我看到的几乎所有.NET代码都使用SQLServer特定的类.

我意识到供应商特定的类具有更多功能,例如向SqlCommand对象添加参数是一种方法,其中将其添加到IDbCommand是令人恼火的4+行代码.但话又说回来; 为这些限制编写一个小助手类非常简单.

我还想知道当SQLServer是当前目标客户端时是否对接口进行编程是过度工程的,因为它不是立即需要的.但我不认为这是因为针对接口的编程成本太低,因为减少供应商依赖性提供了如此巨大的好处.

您是否使用供应商特定的数据类或接口?

编辑:总结下面的一些答案,并在阅读时提出一些想法.

使用接口实现供应商中立的可能陷阱:

  • 嵌入在SELECT语句中的供应商特定关键字(我的所有ins,upd和del都在procs中,所以这不是问题)
  • 直接绑定数据库可能会导致问题.
  • 除非您的连接实例化是集中的,否则无论如何都需要调用特定于供应商的类.

使用接口的正面理由:

  • 根据我的经验,移动到不同供应商的能力(即使没有行使)一直受到客户的赞赏.
  • 在可重用代码库中使用接口

.net vendor-neutrality design-decisions

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

如何以编程方式在iPhone上播放MP3?

我想在我的应用程序中加入一个MP3并按需播放.不幸的是,我不知道如何开始.我一直在阅读.caf文件,但我不确定它们是什么.

如果可能的话,我正在寻找一步一步.

iphone audio xcode

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

当我禁用提交按钮以防止双击时,为什么我的表单没有发布?

像地球上的其他每个Web开发人员一样,用户双击表单上的提交按钮时遇到问题.我的理解是,处理这个问题的传统方法是在第一次点击后立即禁用按钮,但是当我这样做时,它不会发布.

我对此做了一些研究,上帝知道有足够的信息,但其他问题,如表单提交上的禁用按钮,禁用按钮似乎工作.提交后禁用按钮的原始海报似乎与我有同样的问题,但没有提及如何/如果他解决它.

这里有一些关于如何重复它的代码(在IE8 Beta2中测试,但在IE7中有同样的问题)

我的aspx代码

<%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<script language="javascript" type="text/javascript">
    function btn_onClick()
    {
        var chk = document.getElementById("chk");
        if(chk.checked)
        {
            var btn = document.getElementById("btn");
            btn.disabled = true;
        }
    }
</script>
<body>
    <form id="form1" runat="server">
        <asp:Literal ID="lit" Text="--:--:--" runat="server" />
        <br />
        <asp:Button ID="btn" Text="Submit" runat="server" />
        <br />
        <input type="checkbox" id="chk" />Disable button on first click
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的cs代码

using …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net client-side double-submit-prevention

8
推荐指数
3
解决办法
5967
查看次数

为什么需要保存按钮?

像OneNote这样的软件已经证明可以实现自动保存,并且它与手动保存按钮/ CTRL + S一样好(或更好).

无论如何,你工作的一切都想要保存.它就是你正在尝试一些破坏性的东西,你会关闭而不保存.

因此,从程序员/可用性的角度来看,为什么今天几乎所有软件中都会出现手动"保存"功能?是因为每当数据被修改时,每个人都懒得实现"自动保存"?

对我们实施自动保存是一个好主意,至少在我们的特定行业和竞争对手中引起一些关注?

filesystems autosave save onenote ui-design

8
推荐指数
4
解决办法
1367
查看次数

是否有将EXCEPTION_POINTERS结构转换为字符串的函数?

有没有人知道将GetExceptionInformation()返回的EXCEPTION_POINTERS结构转换为我可以记录的字符串的函数?

如果它已经完成,我不想自己动手.

编辑:基本上,我添加了__try {} __except(){}块来帮助应用程序在严重错误上正常失败.虽然我正在使用它,但我正在尝试记录尽可能详细的错误消息以找到我们要解决的问题.理想情况下,我想打印出文件名和失败的行,但我怀疑这是可能的,所以我希望抛弃所有的异常信息,希望我们能够尽可能接近找出问题的确切原因.

c++ windows winapi exception visual-c++

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

有人创建安装程序来部署内部asp.net Web应用程序吗?

我总是通过FTP(有时甚至是xcopy)部署我的Web应用程序,然后自己手动运行数据库脚本.

我开始在90年代部署这种方式,但最近,我看到了一些带有安装程序的Web应用程序.我开始质疑,如果我被锁定在一个过时的过程中.我是一名顾问,我的应用程序通常是内部的,所以我不担心分发和让其他人安装它们.

但我很好奇; 有人创建安装程序来部署内部asp.net Web应用程序吗?

如果是这样,为什么?(自愿,强制或自动化过程的一部分)

你这样做有什么问题吗?

asp.net deployment installer release-management

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