小编Spo*_*ock的帖子

构建平台目标AnyCPU EXE仍然在64位机器中显示32位标头

不确定之前有没有问过(我找不到).我有简单的控制台应用程序/ ESE,并具有以下设置.

在此输入图像描述

我正在运行Windows 8,63bit操作系统.和EXE目标框架.NET 4.5但是,当我编译这个EXE时,它仍然显示为32位EXE.

在此输入图像描述

由于这是"任何CPU",我希望EXE编译为64bit/PE32 +.

有人可以帮忙说明为什么这仍然是32位?

c# 32bit-64bit anycpu .net-4.5 visual-studio-2012

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

JSON.NET自定义序列化以排除属性名称

我正在使用Json.NET,并且具有以下代码。

public class Row
{
    [JsonProperty]
    public IDictionary<string, object> Cells { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

行和单元格是动态生成的,我具有C#动态/扩展功能来创建这些单元格。当Json.NET序列化动态实例时,它将生成我想要的正确的json结构。但是,对于大型数据结构,它会对性能产生不利影响。例如,JsonSerializer在序列化期间相当广泛地调用DynamicObject TryGetMember。因此,我需要一个静态数据结构,因此序列化会更快。synamic Expando对象仍将创建动态属性,但是我希望Json.NET序列化使用静态结构(基于动态结构创建),因此序列化会更快。

根据动态结构填充Cells字典,并通过调用JsonConvert生成如下的序列化json结构。

 string serializeObject =  JsonConvert.SerializeObject(data, Formatting.Indented);
Run Code Online (Sandbox Code Playgroud)

// json输出:

 {

    "Data": [
              {
                "Cells": {
                     "column1": "20",
                     "column2": "20"
                     }
              },
              {
                "Cells": {
                    "column1": "20",
                    "column2": "20"
                    }
              }
      ]
}
Run Code Online (Sandbox Code Playgroud)

但是我绑定到的UI Grid需要下面的json结构

   "Data": [
               {
                     "column1": "20",
                     "column2": "20"                  
               },
               {                   
                    "column1": "20",
                    "column2": "20"                  
               }
           ]
Run Code Online (Sandbox Code Playgroud)

有什么办法可以删除“单元”并生成上述的Json结构?

我查看了JSON.NET帮助文档,但找不到实现此目的的方法。还尝试覆盖DynamicContractResolver的CreateProperty方法,以查看是否可以更改序列化行为,但无法这样做

 public class DynamicContractResolver : DefaultContractResolver
 {       
    protected override JsonProperty CreateProperty(System.Reflection.MemberInfo member, MemberSerialization …
Run Code Online (Sandbox Code Playgroud)

serialization json.net

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

方法内部的通用对象

我对通用对象有一些疑问,我不知道我的想法是否可以轻松实现......

我有对象实现相同的接口,所以方法几乎等于主要对象,如下面的代码:

public bool Func1 (Bitmap img)
{
   Obj1                 treatments    = new Obj1 ();
   List<UnmanagedImage> unmanagedList = treatments.ExtractLetters(img);

   // Check image treatments
   if (!treatments.WasSuccessful)
      return false

   return true
}

public bool Func2 (Bitmap img)
{
   Obj2                 treatments    = new Obj2 ();
   List<UnmanagedImage> unmanagedList = treatments.ExtractLetters(img);

   // Check image treatments
   if (!treatments.WasSuccessful)
      return false

   return true
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我不想复制代码.有没有简单的方法使这个Obj1和Obj2通用?因为我只能编写一个函数,然后函数可以在对象中执行转换,因为其余的是相同的.

谢谢!

c# c#-4.0

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

ASP.Net MVC 4 WebAPI POST返回404

我已经查看了许多类似的问题,但找不到适合我的解决方案.所以对Get的调用工作正常,但调用POST返回404.我创建了一个简单的WebAPI项目(MVC 4).

public class CasesController : ApiController
{
    [Inject]
    public ICaseManager CaseManager { get; set; }

    // GET api/cases
    public IEnumerable<Case> Get()
    {
        return CaseManager.ListCases();
    }

    // POST api/cases
    [HttpPost]
    public void Post([FromBody]Case objCase)
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

因此,当我导航到http://localhost:34645/api/cases我时,我得到以下内容:

[{"CaseID":1,"CaseCode":"one","CaseDescription":"case one"},{"CaseID":2,"CaseCode":"two","CaseDescription":"case two"}]
Run Code Online (Sandbox Code Playgroud)

我创建了另一个项目(ASP.Net)并在其中包含一个html文件,其中包含以下代码:

<script src="Scripts/jquery-2.0.3.js"></script>
<script src="Scripts/jquery-2.0.3.intellisense.js"></script>

<script type="text/javascript">
    function postData() {
        $.post('http://localhost:34645/api/cases', { "CaseID": 3, "CaseCode": "three", "CaseDescription": "case three" }).done(function (data) { alert("Success " + data); }).fail(function (xhr, textStatus, errorThrown) { alert("Error " + xhr.status); });
    } …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-4 asp.net-web-api

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