草庐IT

API安全

全部标签

c# - 从 .NET 2.0 客户端调用 Web Api 服务

是否可以从.NET2.0客户端调用WebApi方法?引用这里的指南:http://www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client其中一些用于客户端的dll似乎与.NET2.0不兼容有没有什么方法可以在不添加任何dll的情况下从.NET2.0客户端调用WebApi方法? 最佳答案 IsitpossibletocallaWebApimethodfroma.NET2.0client?当然可以。您绝对可以从任何HTTP兼容的客户

c# - 文档中 API 方法的分组 - 是否有一些自定义属性

我有ControllerpublicclassUserController:ApiController{[Route("api/user")]IHttpActionResultGetUser(){...}}publicclassResumeController:ApiController{[Route("api/user/resumes")]IHttpActionResultGetResumes(){...}}哪个大摇大摆地生成输出有没有办法(除了通过推出您自己的ISwaggerProvider或将两个Controller合并为一个来覆盖默认实现之外)强制执行组名称?有点像public

c# - 这个非锁定的 TryGetValue() 字典访问线程安全吗?

privateobjectlockObj=newobject();privateDictionarydict=newDictionary();publicstringGetOrAddFromDict(intkey){stringvalue;//non-lockedaccess:if(dict.TryGetValue(key,outvalue))returnvalue;lock(this.lockObj){if(dict.TryGetValue(key,outvalue))returnvalue;stringnewValue="valueof"+key;//placelongoperat

c# - MVC 网络 API,错误 : Can't bind multiple parameters

传递参数时出错,"Can'tbindmultipleparameters"这是我的代码[HttpPost]publicIHttpActionResultGenerateToken([FromBody]stringuserName,[FromBody]stringpassword){//...}Ajax:$.ajax({cache:false,url:'http://localhost:14980/api/token/GenerateToken',type:'POST',contentType:"application/json;charset=utf-8",data:{userName

c# - 无法从 web api POST 读取正文数据

我正在尝试从新的Asp.NetWebApi中的请求中提取一些数据。我有这样的处理程序设置:publicclassMyTestHandler:DelegatingHandler{protectedoverrideSystem.Threading.Tasks.TaskSendAsync(HttpRequestMessagerequest,System.Threading.CancellationTokencancellationToken){if(request.Content.IsFormData()){request.Content.ReadAsStreamAsync().Contin

c# - 需要调试从客户端计算机请求的 Web API 服务 - 需要帮助,我该怎么做?

我在IIS中构建了一个WebAPI服务,该服务本地托管在我的机器上。我有一个通过XCode运行的iOS应用程序,它可以调用Web服务。连通性就在那里,并且有效。iOS应用成功连接到我发布的Web服务。问题是我的网络服务正在向客户端(iOS)返回一个非描述性错误,所以我需要做的是在运行我的iOS应用程序时单步执行网络服务代码。所以,总结一下:我通过我的MacBook运行一个iOS应用程序,它连接到我的.NETWebAPI服务。我的WebAPI服务已发布到我的本地IIS,并向客户端返回错误。在VisualStudio中未命中断点-我是否需要将我的VisualStudio调试器附加到特定进程

c# - 在 C# 中赢得 api。从 IntPtr 获取高位和低位字

我正在尝试在C#中处理WM_MOUSEMOVE消息。从IntPtr类型的lParam获取X和Y坐标的正确方法是什么? 最佳答案 尝试:(请注意,这是初始版本,阅读下面的最终版本)IntPtrxy=value;intx=unchecked((short)xy);inty=unchecked((short)((uint)xy>>16));通常不需要unchecked(因为“默认”c#项目未选中)考虑这些是所用宏的定义:#defineLOWORD(l)((WORD)(((DWORD_PTR)(l))&0xffff))#defineHIWO

c# - 以线程安全的方式添加到 Parallel.ForEach 循环中的列表

我有一些代码在名为ListofObjects的obj对象列表上像这样工作:ListNewListofObjects();Parallel.ForEach(ListofObjects,obj=>//DosomeoperationshereonobjtogetanewobjNewListofObjects.Add(newobj););现在我退出了Parallel.ForEach循环,我想对NewListofObjects进行操作。但是,当我尝试执行以下操作时出现此错误:“尝试读取或写入protected内存。这通常表示其他内存已损坏”。这是因为我的NewListofObjects.Add(

c# - .net 中的线程安全队列(列表)

我需要为要添加到lucene索引的项目创建一个线程安全列表。下面的线程安全吗?publicsealedclassIndexQueue{staticreadonlyIndexQueueinstance=newIndexQueue();privateListitems=newList();privateIndexQueue(){}publicstaticIndexQueueInstance{get{returninstance;}}privateobjectpadlock=newobject();publicvoidAddItem(stringitem){lock(padlock){ite

c# - 如何证明 Dictionary 的 TryGetValue 的双重检查锁定模式不是线程安全的

最近我看到一些C#项目在Dictionary上使用双重检查锁定模式。像这样:privatestaticreadonlyobject_lock=newobject();privatestaticvolatileIDictionary_cache=newDictionary();publicstaticobjectCreate(stringkey){objectval;if(!_cache.TryGetValue(key,outval)){lock(_lock){if(!_cache.TryGetValue(key,outval)){val=newobject();//factorycon