小编REA*_*REW的帖子

将DateTime属性的默认值设置为System.ComponentModel内的DateTime.Now默认值Attrbute

有没有人知道如何使用System.ComponentModel DefaultValue属性为DateTime属性指定默认值?

例如我试试这个:

[DefaultValue(typeof(DateTime),DateTime.Now.ToString("yyyy-MM-dd"))]
public DateTime DateCreated { get; set; }
Run Code Online (Sandbox Code Playgroud)

并且它期望值是一个恒定的表达式.

这是在使用ASP.NET动态数据的上下文中.我不想构建DateCreated列,但只是提供DateTime.Now,如果它不存在.我使用实体框架作为我的数据层

干杯,

安德鲁

c# asp.net entity-framework asp.net-core-2.1 ef-core-2.1

87
推荐指数
9
解决办法
14万
查看次数

ASP.NET自定义验证器客户端和服务器端验证未触发

这在我之前没有发生过,但由于某种原因,客户端和服务器端验证事件都没有被触发:

<asp:TextBox ID="TextBoxDTownCity" runat="server" CssClass="contactfield" />
<asp:CustomValidator ID="CustomValidator2" runat="server" EnableClientScript="true"
    ErrorMessage="Delivery Town or City required"
    ClientValidationFunction="TextBoxDTownCityClient" 
    ControlToValidate="TextBoxDTownCity"
    OnServerValidate="TextBoxDTownCity_Validate" Display="Dynamic" >
</asp:CustomValidator>
Run Code Online (Sandbox Code Playgroud)

服务器端验证事件:

protected void TextBoxDTownCity_Validate(object source, ServerValidateEventArgs args)
{
    args.IsValid = false;
}
Run Code Online (Sandbox Code Playgroud)

客户端验证事件:

function TextBoxDCountyClient(sender, args) {
    args.IsValid = false;
    alert("test");
}
Run Code Online (Sandbox Code Playgroud)

我认为至少Server Side验证会激活但不会.这在我之前从未发生过.这真让我难过.

我查看了输出,ASP.NET正在识别客户端功能:

ASP.NET JavaScript输出:

var ctl00_ctl00_content_content_CustomValidator2 = document.all ? document.all["ctl00_ctl00_content_content_CustomValidator2"] : document.getElementById("ctl00_ctl00_content_content_CustomValidator2");

ctl00_ctl00_content_content_CustomValidator2.controltovalidate = "ctl00_ctl00_content_content_TextBoxDTownCity";

ctl00_ctl00_content_content_CustomValidator2.errormessage = "Delivery Town or City required";

ctl00_ctl00_content_content_CustomValidator2.display = "Dynamic";

ctl00_ctl00_content_content_CustomValidator2.evaluationfunction = "CustomValidatorEvaluateIsValid";

ctl00_ctl00_content_content_CustomValidator2.clientvalidationfunction = "TextBoxDTownCityClient";
Run Code Online (Sandbox Code Playgroud)

渲染自定义验证器:

<span id="ctl00_ctl00_content_content_CustomValidator2" style="color:Red;display:none;">Delivery Town …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net validation customvalidator

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

是否有Cruise Control .NET的API?

我可以使用Cruise Control .NET(ccnet)查询服务器的API,例如获取各种构建的状态吗?

我注意到ccnet托盘应用程序中有一些选项可供连接,但我找不到服务API的任何文档或如何使用它的示例.

.net c# api cruisecontrol.net continuous-integration

29
推荐指数
3
解决办法
5789
查看次数

PDB文件在第二次编译时变大,然后保持相同的大小

使用以下简单文件:

using System;

public class Program{
        [STAThread]
        public static void Main(string[] args){
            Console.WriteLine("Boo");
        }
}
Run Code Online (Sandbox Code Playgroud)

然后使用以下命令:

csc /target:exe /debug:pdbonly HelloWorld.cs
Run Code Online (Sandbox Code Playgroud)

如果运行此命令且P​​DB尚不存在,则PDB文件大小为12KB.否则,如果PDB文件存在,则新文件大小为14KB.

Microsoft (R) Visual C# Compiler version 4.0.30319.17929
.NET 4.5
Run Code Online (Sandbox Code Playgroud)

有什么想法可以解释这个吗?

更新:

  1. 我没有使用.NET 3.5和.NET 4的评论.
  2. 使用pdb2xml(http://blogs.msdn.com/b/jmstall/archive/2005/08/25/sample-pdb2xml.aspx),我看不出小的和大的之间有什么区别.

.net c# csc

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

是否有WCF Rest C#客户端生成工具?

在冒险创建一个之前,我想知道是否有人知道一个实用程序,它将采用WCF Rest服务的REST帮助页面并为C#消费创建相关的客户端.

类似于svcutil.exe对WCF服务的作用或wsdl.exe对Web服务的作用,但对于WCF REST服务的作用

亲切的问候,

安德鲁

编辑更多细节:

请看这个链接:http://msdn.microsoft.com/en-us/library/dd203052.aspx

在使用WCF Rest Starter Kit Preview 2的restful服务中,它们提供将被序列化的类型.但我的目的是能够在描述模式的帮助页面中创建客户端.然后可以为C#,JavaScript,ActionScript等创建客户端.剪切地作为宁静服务的强类型版本,而不是要求或必要性.这是一个我想知道存在的程序或实体

c# rest wcf

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

在构造函数定义中使用void是什么意思?

给出以下代码:

#pragma once

class B
{
public:

    B(void)
    {
    }

    ~B(void)
    {
    }
};
Run Code Online (Sandbox Code Playgroud)

我知道我也可以这样写:

#pragma once

class B
{
public:

    B()
    {
    }

    ~B()
    {
    }
};
Run Code Online (Sandbox Code Playgroud)

void在第一个例子中有什么目的?是否某种类型的实践表明构造函数采用参数?

c++

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

质疑DTO与restful服务的使用以及从更新中提取行为

在DDD领域,我喜欢避免getter和setter完全封装组件的想法,因此唯一允许的交互是通过行为构建的交互.将此与事件采购相结合,我可以获得有关已采取行动以及何时使用组件的良好历史记录.

我一直在考虑的一件事是,我想创建一个到底层服务的宁静网关.出于示例的目的,假设我有一个具有以下方法的Task对象,

  • ChangeDueDate(DateTime date)
  • ChangeDescription(string description)
  • AddTags(params string[] tags)
  • Complete()

现在显然我将在此对象中包含实例变量来控制在调用相关方法时将触发的状态和事件.

回到REST服务,我看到它的方式有3个选项:

  1. 制作RPC样式网址,例如 http://127.0.0.1/api/tasks/{taskid}/changeduedate
  2. 允许将许多命令发送到单个端点,例如:
    • 网址: http://127.0.0.1/api/tasks/{taskid}/commands
    • 这将接受命令列表,以便我可以在同一请求中发送以下内容:
      • ChangeDueDate 命令
      • ChangeDescription 命令
  3. 创建一个真正的RESTful动词,我创建域逻辑以从DTO中提取更改,然后转换为所需的相关事件,例如:
    • 网址: http://127.0.0.1/api/tasks/{taskid}
    • 我会使用PUT动词发送任务的DTO表示
    • 一旦收到,我可以通过一个名为UpdateStateFromDto的方法将DTO提供给实际的Task Domain Object
    • 然后,这将分析dto并将匹配的属性与其字段进行比较以查找差异,并且当找到与特定属性的差异时,可能具有需要触发的相关事件.

现在看着这个,我觉得第二种选择看起来是最好的,但我想知道其他人的想法是什么,如果有一种已知的真正的宁静方式来处理这类问题.我知道第二种选择,从TDD的角度来看这将是一次非常好的体验,而且从性能的角度来看,因为我可以将行为的变化组合到单个请求中,同时仍然跟踪变化.

第一个选项肯定是显式的,但如果需要调用许多行为,则会产生多个请求.

第三个选项听起来并不坏,但我意识到需要一些可以考虑不同属性类型,嵌套等的干净实现.

感谢您的帮助,真正让我的头脑陷入分析瘫痪.只是喜欢一些关于其他人认为是选项的最佳方式的建议,或者我是否错过了一个技巧.

.net c# rest domain-driven-design

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

在Xml序列化后删除空xmlns =""

所以我仍然在问这个话题:-(

所以我创建了一个对象,用Xml序列化属性来装饰它,从我看到的我添加一个空的命名空间到xml序列化namepsace集合,以便不获取我不想要的多余属性.

编辑:我的意思是这些属性:

<url xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns="">
Run Code Online (Sandbox Code Playgroud)

所以它给了我两个额外的属性.

经过进一步调查,如果我改变文件的开头:**

writer.WriteStartElement("urlset","http://www.sitemaps.org/schemas/sitemap/0.9");
Run Code Online (Sandbox Code Playgroud)

writer.WriteStartElement("urlset");
Run Code Online (Sandbox Code Playgroud)

**然后我没有在url标签中获得空的xmlns =""属性.这很好但是我确实需要根元素xmlns="http://www.sitemaps.org/schemas/sitemap/0.9",即:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
Run Code Online (Sandbox Code Playgroud)

但我仍然xmlns=""在序列化类型中获得一个空属性.

[XmlRoot(ElementName = "url", Namespace="")]
public class SitemapNode
{
    [XmlElement(ElementName = "loc")]
    public string Location { get; set; }
    [XmlElement(ElementName = "lastmod")]
    public DateTime LastModified { get; set; }
    [XmlElement(ElementName = "changefreq")]
    public SitemapChangeFrequency ChangeFrequency { get; set; }
    [XmlElement(ElementName = "priority")]
    public decimal Priority { get; set; }

    public SitemapNode()
    {
        Location = String.Empty;
        LastModified = DateTime.Now;
        ChangeFrequency …
Run Code Online (Sandbox Code Playgroud)

.net c# xml xml-serialization

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

如何使用moq模拟控制器上下文

我正在尝试MOQ框架,现在我已经遇到了障碍.以下单元测试失败,因为ViewName属性的实际值是空字符串.

任何人都可以指出我正确的方向,为什么这不通过测试?

[TestMethod]
public void Can_Navigate_To_About_Page()
{
    var request = new Mock<HttpRequestBase>();
    request.Setup(r => r.HttpMethod).Returns("GET");
    var mockHttpContext = new Mock<HttpContextBase>();
    mockHttpContext.Setup(c => c.Request).Returns(request.Object);

    var controllerContext = new ControllerContext(mockHttpContext.Object, 
                                new RouteData(), 
                                new Mock<ControllerBase>().Object);
    var controller = new HomeController();

    controller.ControllerContext = controllerContext;
    var result = controller.About() as ViewResult;

    Assert.AreEqual("About", result.ViewName);
}
Run Code Online (Sandbox Code Playgroud)

以下还会产生一个空的ViewName.

        HomeController controller = new HomeController();
        ViewResult result = controller.About() as ViewResult;
        Assert.IsNotNull(result);
        Assert.AreEqual("About", result.ViewName);
Run Code Online (Sandbox Code Playgroud)

从网上展示模拟和良好TTD的例子我只是对于我需要做出上述第一个单元测试示例工作的其他管道工作感到困惑.

干杯,

安德鲁

.net c# asp.net-mvc moq

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

Windows编译v8时出现pkg-config错误

我正在尝试在Windows上构建ry / v8worker2。一切正常,直到我运行为止go test,然后抱怨pkg-config设置。

这是生成的pkg-config文件:

Name: v8
Description: v8
Version: xxx
Cflags: -IC:\Users\andyrea\go\src\github.com\reaandrew\v8worker2\v8\include
Libs: out/v8build/obj/v8_monolith.lib
Run Code Online (Sandbox Code Playgroud)

go test是执行时的输出:

go build github.com/reaandrew/v8worker2: invalid flag in pkg-config --libs: out/v8build/obj/v8_monolith.lib
FAIL    github.com/reaandrew/v8worker2 [build failed]
Run Code Online (Sandbox Code Playgroud)

就像我说的那样,整个编译过程都很好,并且创建了文件,但是最后有些不正确。我尝试对build.py进行的唯一修改,使其在Windows上可以正常运行,如下所示:

diff --git a/build.py b/build.py
index 2cb5e6a..6f482c8 100755
--- a/build.py
+++ b/build.py
@@ -82,7 +82,7 @@ GCLIENT_SOLUTION = [
 ]

 def main():
-  lib_fn = os.path.join(prebuilt_path, platform_name(), "libv8_monolith.a")
+  lib_fn = os.path.join(root_path.replace("\\","/"),"/out/v8build/obj/v8_monolith.lib")
   if args.rebuild or not os.path.exists(lib_fn):
     print("Rebuilding V8")
     lib_fn = Rebuild()
@@ -99,9 +99,9 @@ …
Run Code Online (Sandbox Code Playgroud)

c v8 pkg-config go cgo

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