草庐IT

service-api-signup

全部标签

c# - 基于 Accept header 的 ASP.NET Core Web API 操作选择

我想根据请求的接受header为同一功能(实体列表)返回两个不同格式的响应,它是针对“json”和“html”请求。asp.netcore是否支持根据请求中的AcceptHeader为同一路由选择不同的Action? 最佳答案 我深入研究了.net核心源代码并寻找其他具有类似行为的属性,例如Microsoft.AspNetCore.Mvc.HttpGet或Microsoft.AspNetCore.Mvc.ProducesAttribute。这两个属性都实现了一个Microsoft.AspNetCore.Mvc.ActionConst

c# - 将 .NET P/Invoke 代码组织到 Win32 API 的最佳实践

我正在.NET中重构一个庞大而复杂的代码库,它大量使用P/InvoketoWin32API。项目的结构不是最好的,我发现到处都是DllImport语句,经常重复相同的功能,并且还以多种方式声明:导入指令和方法有时声明为公共(public)的,有时声明为私有(private)的,有时声明为静态的,有时声明为实例方法。我担心重构可能会产生意想不到的后果,但这可能是不可避免的。是否有我可以遵循的记录在案的最佳做法可以帮助我解决问题?我坚持要组织一个静态/共享的Win32P/InvokeAPI类,在一个文件中列出所有这些方法和关联的常量...编辑user32DLL有超过70个导入.(代码库由2

c# - ASP.NET Web API IExceptionLogger 不捕获异常

我正在尝试设置一个全局异常处理程序,如下所述:WebAPIGlobalErrorHandling.我已经设置了一个在Controller构造函数中抛出异常的情况。但我的异常没有被记录下来。相反,WebApi只是将异常和完整堆栈跟踪作为JSON消息返回给调用客户端。我不知道这是否重要,但我的Controller操作正在使用async/await,如下所示:[HttpGet,Route("GetLocationNames")]publicasyncTask>Get(){returnawaitadapter.GetLocationNames();}我有以下实现:usinglog4net;us

c# - 如何测试 Web API JSON 响应?

我正在尝试为我的网络API设置单元测试。我从网上找到的一些零零碎碎的东西中整理了一些测试代码。我已经发送了测试请求并收到了响应,但我一直在测试响应。这就是我到目前为止所得到的。这是使用xunit测试包,但我认为这对我要实现的目标并不重要。(为困惑的代码道歉)[Fact]publicvoidCreateOrderTest(){stringbaseAddress="http://dummyname/";//ServerHttpConfigurationconfig=newHttpConfiguration();config.Routes.MapHttpRoute("Default","ap

c# - 使用媒体类型对 ASP.NET Web API 2 进行版本控制

我正在使用带有属性路由的ASP.NETWebAPI2,但我似乎无法使用媒体类型application/vnd.company[.version].param[+json]进行版本控制去工作。我收到以下错误:Thegivenkeywasnotpresentinthedictionary.源于在FindActionMatchRequiredRouteAndQueryParameters()方法中测试关键的_actionParameterNames[descriptor]。foreach(varcandidateincandidatesFound){HttpActionDescriptord

c# - 使用 Reporting Services 将组保持在一页上

我使用ReportingServices创建了一个报表作为C#应用程序的一部分,但我找不到我在其他环境中经常看到的一些功能。我相信MSAccess和Crystal报表都有一个名为“KeepTogether”的选项,这样您就可以在一页上保留一组特定的数据,而不是将信息分成两页。当我的报告在C#应用程序中本地呈现并使用.net报告查看器查看时,我如何使用2005ReportingServices来做到这一点。本质上,我想将某一年的所有记录保存在一页上。我正在使用VisualStudio2008。年份是列之一,一年的行数总是小于一页。我的报告只使用一个表格,最里面按年份分组,然后按客户名称分

c# - Web API 2 Http 发布方法

我很反感没有找到解决这个问题的办法。我开始使用WebAPI2创建一个新的API,但无法使POST和PUT正常工作。获取全部和获取单个项目工作得很好。到处都没有相关文章,我找到的那些文章只与Gets和WebAPI有关,与WebAPI2无关。请提供任何帮助。//POST:api/checkOuts[HttpPost][ResponseType(typeof(checkOut))][ApiExplorerSettings(IgnoreApi=true)]publicasyncTaskPostcheckOut(checkOutco){if(!ModelState.IsValid){return

c# - 具有自定义身份验证的 ASP.NET Web API

我正在寻求有关创建具有自定义用户名/密码身份验证的WebAPI的帮助。我有自己的数据库来验证用户,我不想使用Windows身份验证。我希望能够用[Authorize]之类的属性来修饰我的webapi调用,这样在没有登录的情况下进行的调用将失败。我不想将凭据作为参数传递给每个方法。此API将主要由使用XamarinPCL的移动设备使用。WebAPI必须使用SSL。这似乎是一个简单的设置,但我的谷歌搜索没有显示任何super有用的点击。理想情况下,我想要一个登录Controller来授权用户并允许后续方法调用。谁能提供一个基本示例或一些好的阅读Material?

c# - 如何将非表数据导入 SQL Server Reporting Services?

给定:一个C#计算引擎,它加载一个对象模型,处理大量数字,并将结果保存到SQLServer中的几个巨大的索引数据库表中。这些表向Web界面、其他软件模块和SQLServerReportingServices2005报告提供数据。在最新版本的软件中,我设法使引擎的速度快了很多,现在已经足够快了,它可以根据请求提供数据-有时甚至比查询所需的时间还快预先计算的数字的数据库。我对此感到非常高兴。这一突破意味着我们可以根据Web界面和其他软件模块的请求生成数据。但是缓存表还不能消亡,因为它们被SSRS报告使用(或者更具体地说,被查询表并向SSRS提供数据的存储过程使用。)缓存表是一种痛苦,就像任

Elasticsearch8.x版本中RestHighLevelClient被弃用,新版本中全新的Java客户端Elasticsearch Java API Client中常用API练习

Es的javaAPI客户端在Es7.15版本之后,es官方将它的高级客户端RestHighLevelClient标记为弃用状态。同时推出了全新的javaAPI客户端ElasticsearchJavaAPIClient,该客户端也将在Elasticsearch8.0及以后版本中成为官方推荐使用的客户端。ElasticsearchJavaAPIClient支持除VectortitlesearchAPI和FindstructureAPI之外的所有ElasticsearchAPI。且支持所有API数据类型,并且不再有原始JSONValue属性。它是针对Elasticsearch8.0及之后版本的客户端