小编Dot*_*nfo的帖子

在Newtonsoft.json中,ReferenceLoopHandling.Ignore究竟做了什么?

任何人都可以向我展示可以使用它的场景.我通过ReferenceLoopHandling.Ignore理解的是,如果你有一个对象A引用对象B和B引用C和C再次引用A(A-> B-> C-> A),那么在序列化时,它将最终无穷无尽在C和A之间循环,可以使用下面的方法避免.我对吗?

 JsonConvert.SerializeObject(data, 
     Formatting.Indented, 
     new JsonSerializerSetting()
         {
             ReferenceLoopHandling = ReferenceLoopHandling.Ignore 
         } 
 ));
Run Code Online (Sandbox Code Playgroud)

我有自我引用循环问题,通过使用上面的问题得到解决,但我想知道它正在做什么,因为上面的行是应用程序的关键(关键肉)

.net c# json json.net

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

使用DbContext访问Connection属性

我正在将我的实践框架代码升级到v4.1.在旧版本中,我使用了从ObjectContext派生的上下文类,但是使用新版本的EF 4.1,它们提供了一个很好的DbContext API.

我基本上试图转换代码,以便它从Database First方法到Code First方法.玩EF 4.1

在旧代码中,我有类似的东西

context.Connection.BeginTransaction(isolationLevel);
Run Code Online (Sandbox Code Playgroud)

其中Context是从ObjectContext派生的.

在v4.1中,我无法从上下文访问Connection属性.我怎样才能做到这一点?

.net c# asp.net entity-framework

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

何时以及在何种情况下使用表达式树

我正在阅读有关表达式树功能以及如何使用lambda表达式创建委托.我仍然无法确定它在什么情况下是有用的,在我应该使用它的现实世界的例子中.

c# linq

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

Moq中SetupSet和SetupProperty之间的区别

我知道SetupSet是在Moq中设置属性的旧方法.现在它是obsolette但是我的intellisense显示两者都没有标记为Obsolette.谁能指出我们之间的实际区别?

c# unit-testing moq mocking

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

最佳免费在线源代码管理

有许多免费的在线源代码管理器,但我想知道你的经验,如果有的话,哪个是最好的?

我和我的朋友正在开始一个小型测试项目,并希望有一些非常好的在线源代码控制.

我们将开发ASP.Net应用程序.

version-control

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

MSDeploy在一个包中的所有配置[.config文件]

我们目前有4种不同的环境(Lab,Test,Stage,LIVE),我们使用Nant/CC.Net实现了自动部署.我正在调查并研究使用新的MSDeploy工具可以更有效地完成哪些工作.

我想要实现的是创建一个包含Configuration文件夹的包,在该文件夹中我们将拥有所有可能环境的所有不同配置文件(基本上添加所有配置转换文件)

我想要实现的是在我们的企业环境中自动部署,在这种环境中,开发团队无法访问将要部署的服务器.我们只需要使用预定义的指令移交部署包,以了解如何安装软件包.

什么是你能想到的最好的方法.我们不使用TFS,并且不希望自动构建过程依赖于任何过程,除了MSDeploy或易于替换的东西.关于使用MSBuild的思考.

.net cruisecontrol.net msbuild nant msdeploy

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

禁用的文本框丢失viewstate

我根据所选的下拉列表动态生成表单.表单由字段(十进制值的数据条目+几个文本字段)组成.必须在末尾添加所有十进制值,并使用该值更新Total TextBox.总文本框已禁用.

当用户输入其值后,单击表单上的"保存"按钮时,除了禁用的文本框外,整个表单将保留在viewstate中.当我启用文本框时,一切正常.请注意,我动态生成表单并使用javascript更新总文本框的值来计算(添加所有小数字段).

PS我正在做一切正确的持久观点.

那么启用/禁用对视图状态有什么影响

.net c# asp.net jquery

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

在条件下将脚本添加到ScriptManager

我有一个棘手的场景,我想在某些条件下添加ScriptManager脚本引用,如下所示

<asp:ScriptManagerProxy ID="scriptManagerProxy1" runat="server">
<CompositeScript>
    <Scripts>
        <asp:ScriptReference path=/...." />
    </Scripts>
</CompositeScript>
<asp:ScriptManagerProxy>
Run Code Online (Sandbox Code Playgroud)

我想仅在特定条件下制作此脚本参考,所以我做了如下

<% if(xyzclass.property)
{ %>

above code

<% } %>
Run Code Online (Sandbox Code Playgroud)

一旦我这样做,我得到错误

The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
Run Code Online (Sandbox Code Playgroud)

我google了,试图将'#'添加为<%#但是添加'#'它找不到类(xyzclass),所以得到错误为

Expected class, delegate, enum, interface, or struct
Run Code Online (Sandbox Code Playgroud)

我也尝试过这里提到的工作 http://leedumond.com/blog/the-controls-collection-cannot-be-modified-because-the-control-contains-code-blocks/

到目前为止没有运气.如果我采用上面链接中提到的方法,它会说类似的东西

The base class includes the field '', but its type (System.Web.UI.ScriptManagerProxy) is not compatible with the type of control (System.Web.UI.ScriptManager).
Run Code Online (Sandbox Code Playgroud)

伙计们,我需要的只是动态地通过ScriptManager添加脚本.有没有什么方法在实践中也很好.

提前致谢,

的NiMesh

c# asp.net asp.net-ajax

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

是否使用泛型?

有一个关于是否使用泛型的简单问题,如果是,这是正确的方法吗?

正常的非通用版本如下:

    public interface IFood
{
    string name { get; set; }
}

public class Vegetables : IFood
{
    #region IFood Members

    public string name
    {
        get { return "Cabbage"; }
        set{ }
    }

    #endregion
}

public class Cow
{
    private IFood _food;

    public Cow(IFood food)
    {
        _food = food;
    }

    public string Eat()
    {
        return "I am eating " + _food.name;
    }
}
Run Code Online (Sandbox Code Playgroud)

通用版本如下:

    public class Cow<T> where T : IFood
{
    private T _food;
    public Cow(T food)
    { …
Run Code Online (Sandbox Code Playgroud)

.net c#

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

Unity:当前类型是接口,无法构造

下面的代码开始

public interface IDataContextAsync : IDataContext
{
    Task<int> SaveChangesAsync(CancellationToken cancellationToken);
    Task<int> SaveChangesAsync();
}

public partial class DB1Context : DataContext{ }

public partial class DB2Context : DataContext{ }
Run Code Online (Sandbox Code Playgroud)

以下是UnityConfig文件。注意:我正在为ASP.Net MVC使用Nuget引导程序,以下是我的UnityConfig文件

        public static void RegisterTypes(IUnityContainer container)
    {           
        container
            .RegisterType<IDataContextAsync, DB1Context>("DB1Context", new PerRequestLifetimeManager())
            //.RegisterType<IDataContextAsync, DB2Context>("DB2Context", new PerRequestLifetimeManager())
            .RegisterType<IRepositoryProvider, RepositoryProvider>(
                new PerRequestLifetimeManager(),
                new InjectionConstructor(new object[] {new RepositoryFactories()})
            )
            .
            .
            .
            .
    }
Run Code Online (Sandbox Code Playgroud)

而且我得到以下错误:

当前类型Repository.Pattern.DataContext.IDataContextAsync是一个接口,无法构造。您是否缺少类型映射?

了解该命名实例不适用于我的UnityConfig。有想法吗?

提前致谢

c# asp.net-mvc unity-container asp.net-web-api

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

在断言之前或之后模拟Verify / VerifyAll

在编写测试时,我已经习惯了遵循代码模式

public void TestMethod_Condition_Output()
{
    //Arrange----------------
    Mock<x> temp = new Mock<x>();
    temp.setup.......

    //Act--------------------
    classinstance.TestMethod()

   //Assert------------------

   temp.VerifyAll();
   Assert.AreNotEqual(.....)    
}
Run Code Online (Sandbox Code Playgroud)

在执行断言之前,我已经习惯于执行VerifyAll()。但是最近在一些在线示例中,我看到人们首先进行断言,然后再进行VerifyAll(如果有)。我确实认为除非丢失任何东西,否则我的方法是正确的方法。

如果我有任何遗漏,请您能提醒我。

c# unit-testing moq mocking

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