草庐IT

web-api-serialize-properties-star

全部标签

c# - 调用 Web 服务时出现 HTTP 407 代理身份验证错误

我正在开发一个通过互联网调用第3方Web服务的.NET应用程序。服务不使用SOAP,因此我们手动构建XML请求文档,通过HTTP将其发送到服务,并检索XML响应。我们的代码是在普通Windows域帐户上下文中运行的Windows服务,位于配置为需要NTLM身份验证的代理服务器(MicrosoftISAServer)后面。运行我们服务的帐户有权通过代理服务器访问互联网。代码如下所示://Createtherequestobject.HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(url);request.Method="PO

c# - 从 web 服务下载文件 - 在 ASP.NET 站点中

我想使用网络服务将文件从网站推送到浏览器。我目前正在将文件读入base64字节数组,并从web服务返回它。这个网络服务是从一个网站调用的,我一直在研究如何将它作为原始文件推送到浏览器。理想情况下,我想将字节数组读入内存流,然后尽可能将其写入响应流,以便最终用户下载文件。 最佳答案 首先,不是发送一个base64字节数组,而是让您的Web服务简单地为您的文件返回一个字节数组。Response.OutputStream.Write()将自动对您的字节进行base64编码,因此您最好在内存流中对它们进行未编码。其次,您需要的不仅仅是字节。

c# - 为什么 Property 执行比 Field 或 Method 执行慢?

在CLRviaCSharp第10章“属性”JeffRichter写道:Apropertymethodcantakealongtimetoexecute;fieldaccessalwayscompletesimmediately.Acommonreasontousepropertiesistoperformthreadsynchroni-zation,whichcanstopthethreadforever,andtherefore,apropertyshouldnotbeusedifthreadsynchronizationisrequired.Inthatsituation,ameth

c# - 如何从 Azure Active Directory 获取客户端 secret 以使用一个驱动器业务 API 的 native 应用程序?

我正在开发一个outlook插件。我想在其中使用一个驱动器API。我很容易获得用于一个驱动器个人帐户的API的客户端ID和客户端密码。但是,当我为一个驱动器业务API注册我的应用程序时天蓝色的事件目录,它只为我创建了一个客户端ID,但没有创建任何客户端密码。我在注册时选择了native应用程序,因为我的应用程序是native应用程序。没有客户端密码我无法对用户进行身份验证。请告诉我,如何获取客户端密码?提前致谢。 最佳答案 创建应用程序并单击键。根据需要添加一些描述和到期时间,然后单击保存。key将自动生成。确保复制并保存key,否

c# - 如何使用 C# API 移动 TFS 文件?

我在谷歌上搜索了很长时间,了解如何使用C#使用TFSAPI移动文件。我们的想法是有一个文件夹,开发人员可以在该文件夹上放置数据库升级脚本,构建过程会创建一个构建脚本,并将文件夹中的所有文件移动到一个新文件夹,其中包含我们刚刚创建的数据库构建版本。我真的找不到任何关于在TFS中以编程方式移动文件的引用...(除了cmd命令行)有人知道通过C#学习TFS源代码控制文件操作的好的指南/msdn起点吗? 最佳答案 非常简单:)。Microsoft.TeamFoundation.VersionControl.Client.Workspacew

c# - 在 API 中返回的最佳集合类型是什么

我一直认为在拥有公共(public)API时返回数组比列表更好,但现在看来列表上的所有这些函数都可以通过LINQ等获得。此处返回基元或对象集合的最佳实践是否发生了变化?例如:Order[]GetOrders();ListGetOrders();IEnumerableGetOrders();IQueryableGetOrders(); 最佳答案 因为我通常只从属性/方法返回不可变(不可修改)的对象,所以这个答案假设你想做同样的事情。不要忘记ReadOnlyCollection它返回一个仍然可以通过索引访问的不可变集合。如果您使用IEn

c# - 如何根据ServiceStack API编写功能测试

我们有一个连接到ServiceStack的ASP.NETWeb应用程序。我以前从未编写过功能测试,但我的任务是针对我们的api编写测试(nunit),并证明它一直工作到数据库级别。有人能帮我开始写这些测试吗?下面是我们的用户服务的post方法的一个例子。publicobjectPost(UserRequestrequest){varresponse=newUserResponse{User=_userService.Save(request)};returnnewHttpResult(response){StatusCode=HttpStatusCode.Created,Headers

c# - Web Api HTTPPost 不接受 int

我试图只传递body一个int但它不起作用为什么我需要创建一个属性类型为int的类?(然后就可以了)有效[HttpPost][Route("api/UpdateMainReversed")]publicIHttpActionResultUpdateMainVerified(DataAccess.Entities.RequestMainmainValues){....}不工作[HttpPost][Route("api/UpdateMainReversed")]publicIHttpActionResultUpdateMainVerified(intmainId){....}使用Postm

c# - 如何在 ASP.net web 应用程序中定义全局变量

我有一个要求,我希望客户端访问数据中心但不使用数据库,所以我希望我的网络应用程序可以保留一个包含数据的全局或应用程序session变量,每个客户端都可以访问相同的数据......我试图声明在golabl中,但似乎它只能存储String而不是其他...如何解决这个问题?谢谢。 最佳答案 另一种定义全局变量的方法是创建一个带有静态属性的静态类:publicstaticclassGlobalVariables{publicstaticstringMyGlobalVariable{get;set;}}如果您打算将其用作数据存储,则可以使它变

c# - 在 C# 中调用 google Url Shortener API

我想调用googleurlshortnerAPI在我的C#控制台应用程序中,我尝试实现的请求是:POSThttps://www.googleapis.com/urlshortener/v1/urlContent-Type:application/json{"longUrl":"http://www.google.com/"}当我尝试使用这段代码时:usingSystem.Net;usingSystem.Net.Http;usingSystem.IO;主要方法是:staticvoidMain(string[]args){strings="http://www.google.com/";v