小编DJ *_*man的帖子

C#如何在继承自DynamicObject的类上序列化(JSON,XML)常规属性

我试图序列化一个继承自DynamicObject的类的实例.我已经毫不费力地将动态属性序列化了(为简洁起见,这里没有演示),但"正常"属性似乎并没有成功.无论序列化类如何,我都会遇到同样的问题:它与JavaScriptSerializer,JsonConvert和XmlSerializer相同.

public class MyDynamicClass : DynamicObject
{
    public string MyNormalProperty { get; set; }
}

...

MyDynamicClass instance = new MyDynamicClass()
{
    MyNormalProperty = "Hello, world!"
};

string json = JsonConvert.SerializeObject(instance);
// the resulting string is "{}", but I expected to see MyNormalProperty in there
Run Code Online (Sandbox Code Playgroud)

MyNormalProperty不应该出现在序列化字符串中吗?有没有诀窍,或者我误解了从DynamicObject继承的一些基本原理?

c# serialization json.net dynamicobject

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

如果RESTful Web API默认GET返回太多结果怎么办?

环境:ASP.NET MVC 4 Web API

鉴于GET的RESTful标准是:

http://www.example.com/api/entity/返回所有实体的集合 http://www.example.com/api/entity/{id}返回ID为{id}的实体

...如果有太多“实体”以至于进行第一个调用将返回大量的结果数据,该怎么办?

我可以完全禁止该调用并返回HTTP 500之类的东西,但是我宁愿遵循标准并实现某种范围选项,尽管可能是任意的。

我一直在寻找HTTP标头,该标头允许使用等价于分页和遇到的问题Accept-Ranges,但是找不到适用的示例(如果从一开始就正确)。我在正确的轨道上吗?有没有可能有用的资源?

rest get

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

如何在Visual Studio Online Build定义中将参数传递给NuGet?

我有一个包含多个项目的解决方案,它已签入TFS(Visual Studio Team Services).我只希望其中一个项目(以及它的依赖项)构建并部署到我创建的Azure Web站点.我的解决方案及其项目遵循本指南中的NuGet 2.7+自动包恢复方法.在我的本地Visual Studio 2013环境中,一切都按预期工作.

我使用本指南在Team Services中创建了一个非常基本的部署版本,但是构建失败了,这个错误与NuGet有关:

******************************************************************************
Running tasks
******************************************************************************
******************************************************************************
Starting task: Build solution $/Path/To/My/Project.csproj
******************************************************************************
Executing the powershell script: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\default\tasks\VSBuild\1.0.16\VSBuild.ps1
C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agents\default\agent\worker\tools\NuGet.exe restore "C:\a\1\s\Path\To\My\Project.csproj" -NonInteractive
MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'.
Cannot determine the packages folder to restore NuGet packages. Please specify either -PackagesDirectory or -SolutionDirectory.
Unexpected exit code 1 returned from tool NuGet.exe

我的问题是:我到底是怎么回事specify either -PackagesDirectory or -SolutionDirectory?我无法找到任何有关此问题的文件.

或者,也许我会以错误的方式解决这个问题?

visual-studio-2013 nuget-package-restore azure-devops azure-pipelines

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