小编doo*_*man的帖子

将JObject转换为动态对象

我从C#调用REST端点,我收到json,它被序列化为一个对象.此对象的一个​​属性是动态属性.动态属性的值在服务器站点上设置为匿名对象,如下所示:

myObject.MyDynamicProp = new { Id = "MyId2134", Name = "MyName" };
Run Code Online (Sandbox Code Playgroud)

在客户端站点上,json序列化的动态属性值是一个包含以下值的JObject:

{{
  "id": "MyId2134",
  "Name": "MyName"
}}
Run Code Online (Sandbox Code Playgroud)

我希望能够访问这样的属性:

var s = myObject.MyDynamicProp.Name;
Run Code Online (Sandbox Code Playgroud)

但它没有找到Name属性,而是我必须得到这样的值:

var s = myObject.MyDynamicProp["Name"].Value;
Run Code Online (Sandbox Code Playgroud)

我尝试将JObject转换为这样的动态对象,但它返回JObject:

var dyn = myObject.MyDynamicProp.ToObject<dynamic>();
Run Code Online (Sandbox Code Playgroud)

如何转换动态属性值,以便我可以直接调用其属性?

var s = myObject.MyDynamicProp.Name;
Run Code Online (Sandbox Code Playgroud)

更新......

我跑了以下

 dynamic d = JsonConvert.DeserializeObject("{\"MyDynamicProp\": {\"id\": \"MyId2134\", \"Name\": \"MyName\"}}");
 string name = d.MyDynamicProp.Name;
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

 {Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:    `Newtonsoft.Json.Linq.JObject' does not contain a definition for `MyDynamicProp'
  at Microsoft.Scripting.Interpreter.ThrowInstruction.Run (Microsoft.Scripting.Interpreter.InterpretedFrame frame) [0x00027]
Run Code Online (Sandbox Code Playgroud)

我想补充一点,这是一个Xamarin iOS项目,代码位于PCL库中.


我假设我的代码有问题,但看起来在Xamarin iOS项目中不可能使用动态类型. https://developer.xamarin.com/guides/ios/advanced_topics/limitations/

c# json json.net xamarin

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

Asp.Net Identity:调用REST函数GetExternalLogin时重定向的invalid_request

在Visual Studio中选择ASP.NET Web应用程序项目时,此错误适用于单页面应用程序模板.将有效的Facebook appId和appSec添加到Startup.Auth.cs文件,以使用外部登录测试演示.

我能够登录到Facebook,但前提是在js变量siteUrlapp.datamodel.js中定义的重定向url 设置为'/'.正如所料,当在AccountController内调用GetExternalLogin REST函数时,用户被发送到Facebook页面进行外部登录.如果我在GetExternalLogin中放置一个断点,它也会被触发.

但是,如果我将app.datamodel.js中的siteUrl更改为其他任何内容,例如'/ dummyController',则根本不会触发断点,而是响应会给出消息错误:invalid_request

知道为什么这不起作用吗?谢谢!

javascript c# asp.net-mvc facebook asp.net-identity

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

在Xamarin iOS和Xamarin Android之间自动转换代码

我一直在使用Xamarin构建一个具有非常自定义布局的iOS应用程序.我的计划是在Xamarin Android中构建完全相同的应用程序.我渴望这样做,我也有兴趣了解Android,但重复工作很多.Xamarin Forms在一些扩展中跨平台共享GUI代码,但它让我想知道是否有任何计划在iOS和Android之间自动转换代码.自动转换可以节省大量时间,并允许开发人员选择自己喜欢的平台进行开发.

有一些网站,如https://www.myappconverter.com/http://www.apportable.com/,用于在母语之间进行转换,不确定它们的可靠程度.我的问题是,是否有任何未来计划或开源项目将Xamarin iOS自动转换为Android,反之亦然?

谢谢!

android xamarin.ios xamarin xamarin.forms

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

ZipFile.ExtractToDirectory 抛出长文件名

我正在提取这样的 zip 文件

ZipFile.ExtractToDirectory(zipFile, extractTo);
Run Code Online (Sandbox Code Playgroud)

但我得到了

{"Could not find a part of the path 'C:\\....many subfolders\\Extremely long filename'."}
Run Code Online (Sandbox Code Playgroud)

该 zip 文件包含一个路径很长的文件,文件名总共约 280 个字符。我不确定这是否是我启用长路径的问题,如此处所示https://blogs.msdn.microsoft.com/jeremykuhne/2016/07/30/net-4-6-2-and-long-paths-在 Windows-10/ 上

如果我在资源管理器中打开路径,它会打开,但具有长文件名的文件不存在。如果我打开 zip 文件,该文件就在那里,因此提取长文件名的文件似乎存在问题。

是否可以在 zip 提取过程中跳过文件或允许提取长文件名的文件?

.net c# io zip

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

Azure Functions 3 和 [FromBody] 模型绑定

我正在使用 Azure Functions 版本 3 创建一个 post 端点。在 Asp.net 中,使用 [FromBody] 标记获取 post 对象非常方便,并且模型绑定会发生奇迹。有没有办法在 Azure Functions v3 中使用 FromBody 标签?

azure azure-functions

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

Azure git,将分叉存储库与主同步

我有一个分叉的 Azure git web 项目,正在 Visual Code 中开发。我希望这个项目能够反映它所派生的主控的最新代码。分叉项目永远不应该与主项目合并,因为它是产品的独立版本。

从master获取最新代码的推荐方法是什么?

我可以直接在 VS Code 中执行此操作还是需要在 Visual Studio 中处理此操作?

Azure 对分叉处理的解释:

https://learn.microsoft.com/bs-cyrl-ba/azure/devops/repos/git/forks?view=azure-devops&tabs=visual-studio#create-pr

git azure visual-studio-code azure-devops

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

在IIS上使用swagger发布web api

在遵循此示例文档后,我正在尝试弄清楚如何使用 Swagger (SwashBuckle) 发布 .net core 3 API 。所以它可以在本地运行,当我按 F5 IIS Express 时,会在下面启动该网站http://localhost:8033/index.html

\n

这是startup.cs中的配置代码:

\n
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)\n        {\n            if (env.IsDevelopment())\n            {\n                app.UseDeveloperExceptionPage();\n            }\n\n            app.UseRouting();\n\n            app.UseAuthorization();\n\n            app.UseEndpoints(endpoints =>\n            {\n                endpoints.MapControllers();\n            });\n\n            app.UseStaticFiles(new StaticFileOptions\n            {\n                FileProvider = new PhysicalFileProvider(env.ContentRootPath),\n                RequestPath = new PathString("")\n            });\n\n            app.UseSwagger();\n            app.UseSwaggerUI(c =>\n            {\n                c.SwaggerEndpoint("/swagger/v1/swagger.json", "v1");\n                c.DocumentTitle = "TestAPI";\n                c.DocExpansion(DocExpansion.None);\n                c.RoutePrefix = string.Empty;                   \n            });                \n        }\n
Run Code Online (Sandbox Code Playgroud)\n

接下来,我将 API 发布到本地文件夹,并将文件复制到服务器上的 IIS 文件夹。如果我打开服务器 API 域,我会得到一个page can\xe2\x80\x99t be found …

c# iis swagger swashbuckle asp.net-core

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

如何按 Azure 搜索中的字段分组

我需要使用分页查询索引,并且该索引包含大量文档。查询还应按字段之一进行分组。是否可以按 Azure 搜索中的字段进行分组?

谢谢!

azure-cognitive-search

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

Xamarin调试无法正常工作

我在Visual Studio中更新了Xamarin iOS,并且调试停止了对可移植库的工作,但它在iOS项目中工作.

但是,如果我将调试从iPhoneSimulator更改为iPhone,反之亦然,pcl内的断点开始工作,但如果我更改pcl内的代码,则断点不会再出现.

这些是我正在使用的版本.Xamarin 3.11.445.0 Xamarin.iOS 8.10.0.0 Visual Studio 2013版本12.0.31101.00更新4

有点令人沮丧的是无法调试,花了一整天试图解决这个问题:s

谢谢!

visual-studio ios xamarin

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

缺少Microsoft.CSharp.Core.targets

我正在使用构建工具2017在TFS2017 Update 3上构建Web服务项目。出现以下错误

C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Microsoft.CSharp.CurrentVersion.targets(322,5):错误MSB4019:导入的项目“ C:\ Program Files(x86) )\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Roslyn \ Microsoft.CSharp.Core.targets”未找到。确认声明中的路径正确,并且文件在磁盘上。

我需要采取什么步骤来解决此错误?

c# msbuild tfs nuget visual-studio-2017-build-tools

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