小编Ari*_*rie的帖子

每个请求的ASP.NET Core API JSON serializersettings

根据请求中的某些值(标题或URL),我想更改DTO对象的序列化.为什么?好吧,我已经应用了[JsonProperty("A")]我的DTO,但根据客户端(网站或移动应用程序),它是否想要使用该属性.我开始了

services
.AddMvc()
.AddJsonOptions(opt =>
{
#if DEBUG
    opt.SerializerSettings.ContractResolver = new NoJsonPropertyNameContractResolver();
#endif
}
Run Code Online (Sandbox Code Playgroud)

因此,在调试时,我获得了具有完整属性名称的JSON.我使用该JsonProperty属性来缩短响应JSON,这适用于移动应用程序(Xamarin),后者反序列化回到相同的DTO.但现在我有一个网站使用相同的API通过jQuery获取数据,但在那里我想处理DTO的完整属性名称,而不是JsonProperty属性中给出的名称.网站和WebApi位于同一台服务器上,因此如果响应更大,则没有问题.

我开始使用中间件类来对客户标头值做出反应,这有效,但现在我不知道如何进入JSON SerializerSettings.搜索网络但找不到它.

在搜索时我读过有关InputFormatters和OutputFormatters,以及内容协商,但我不知道我必须去哪个方向.

我不想使用不同的设置两次部署相同的API.
如果这会有所帮助,我能够改变routesconfig之类的东西.

更新
不仅JSON响应必须以两种不同的方式序列化,而且反序列化必须以两种不同的方式完成.

c# serialization json.net asp.net-core asp.net-core-webapi

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

Delphi 10 Seattle不会在开始时打开上次使用的项目

我是Delphi的新手,来自Visual Studio,这是一个简单的问题(我猜):当我启动IDE时,如何阻止Delphi 10 Seattle打开最后一个使用项目(组)?

我找到了一些关于.dsk文件的信息及其作用:

.dsk文件记录您当前的设置:

  • 桌面布局
  • 断点
  • 观看物品
  • 文件当前在IDE中打开

稍后重新打开项目时,将读取.dsk文件,并恢复桌面布局,断点和手表.此外,无论项目是否使用它们,项目关闭时打开的所有文件都会再次打开.

当我打开一个项目时,我很好.但是,当我启动IDE时请不要打开它.大多数情况下,我想开始或打开另一个项目,而不是我正在处理的最后一个项目.我搜索了选项和互联网,但找不到解决方案.任何人?

delphi delphi-10-seattle rad-studio

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

在调试ASP.NET 5 IIS Express时无法监视变量的内容

当我调试ASP.NET 5 Web应用程序时,它会触及我的断点,但我无法观察本地创建的变量的内容.

使用空项目作为模板的startup.cs中的示例代码:

public void Configure(IApplicationBuilder app)
{
    app.UseIISPlatformHandler();
    var dummy = DateTime.Now;

    app.Run(async (context) =>
    {
        await context.Response.WriteAsync("Hello World! " + dummy);
    });
}
Run Code Online (Sandbox Code Playgroud)

当我把断点放在"app.Run(...."它击中断点但我看不到变量dummy的内容.如果我添加虚拟来监视它说"错误CS0103:名称'虚拟'不存在在当前的上下文中".虽然我可以看到DateTime.Now的内容,它每次我悬停它时都会给我确切的日期和时间.当我在MVC控制器中放置一个断点并观察变量时,会发生同样的情况.

我正在学习Pluralsight课程,并且我也参与了我在创建该课程时创建的项目,以及课程附带的示例文件.

在调试期间VS2015连接到dnx.exe进程在视频中我看到VS2015连接到IISExpress.exe进程.但那个课程是从11月开始的.2015年也许有些事情发生了变化.

重启机器没有帮助.

这是我在这里的第一个问题,如果需要更多信息请告诉我,我会尽力提供.

c# visual-studio-debugging dnx asp.net-core

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