Tag: asp.net web api

PUT和Delete不能与Windows Azure上的ASP.NET WebAPI和数据库一起使用

我正在使用基本的CRUD操作开发ASP.NET WebAPI项目。 该项目在本地运行,并在Windows Azure中有一个示例数据库。 到目前为止,Http GET和POST工作正常,给我200和201.但我正在努力与DELETE和POST。 我更改了Web.config中的处理程序,删除了WebDav,但这些都没有用。 同时启用CORS和[AcceptVerbs]等各种属性也不起作用。 知道我做错了什么吗? 提琴手原始输出: HTTP/1.1 405 Method Not Allowed Cache-Control: no-cache Pragma: no-cache Allow: GET Content-Type: application/json; charset=utf-8 Expires: -1 Server: Microsoft-IIS/8.0 X-AspNet-Version: 4.0.30319 X-SourceFiles: =?UTF-8?B?QzpcVXNlcnNcTWFyY1xPbmVEcml2ZVxEb2t1bWVudGVcRmlcVnNQcm9qZWt0ZVxONTIwMTQwODI1XE41XE41XGFwaVxwcm9kdWN0XDEwODM=?= X-Powered-By: ASP.NET Date: Sun, 14 Sep 2014 15:00:43 GMT Content-Length: 75 {“Message”:”The requested resource does not support http method ‘DELETE’.”} Web.config文件: 控制器: public […]

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

我构建了一个Web API服务,该服务在我的IIS机器上本地托管。 我有一个iOS应用程序,我通过XCode运行,调用Web服务。 连接就在那里,并且有效。 iOS应用程序成功连接到我发布的Web服务。 问题是我的Web服务正在向客户端(iOS)返回一个非描述性错误,因此我需要做的是在运行我的iOS应用程序时单步执行Web服务代码。 所以,总结一下: 我通过MacBook运行iOS应用程序,它连接到我的.NET Web API服务。 我的Web API服务发布到我的本地IIS,并将错误返回给客户端。 在Visual Studio中没有遇到断点 – 我是否需要将Visual Studio调试器附加到特定进程? 我已经尝试在运行我的iOS应用程序时以调试模式运行我的Web服务,但无济于事。 如何在运行访问Web服务的客户端应用程序(iOS)时单步执行我的Web服务代码?

在Entity Framework中的运行时期间更改数据库,而不更改Connection

我有一台服务器托管50个具有相同模式的数据库,我想在下一版本中开始使用Entity Framework。 我不需要为每个数据库建立新连接。 一个连接的权限可以与所有50个数据库通信,并且对于数据管理和速度(这是一个WebAPI应用程序)我不希望每次与每个数据库通信时实例化新的EF上下文,如果我不必,除非当然每次请求到达服务器时都会发生这种情况,那就没什么大不了的。 我真正需要的是能够更改USE [databasename]命令,我假设最终从EF发送到服务器。 有没有办法在代码中完成此操作? EF是否在Context中保持读/写属性,该属性引用可以在调用SaveChanges()等之前动态更改的数据库名称。 谢谢!!! 短发

错误:此操作将创建结构不正确的文档

我一直在尝试安装entity framework6,它总是会回滚错误 error: This operation would create an incorrectly structured document. 我已经卸载了在这个位置提到的每个dll的所有引用。 http://entityframework.codeplex.com/wikipage?title=Updating%20Applications%20to%20use%20EF6 疯狂的是,我可以创建一个新项目,创建一个webAPI程序,并尝试添加entity framework6,我得到相同的错误,即使删除所有对System.Data.Entity.dll的引用后我已经是一些这几天,需要认真的帮助。 我该怎么做才能安装Entity Framework 6? 注意:它只是安装,只是找到一个类库而不是WebApi或MVC应用程序。 如果它有帮助,这里有一些更详细的错误信息。 PM> Install-Package EntityFramework -Version 6.0.0 Installing ‘EntityFramework 6.0.0’. Successfully installed ‘EntityFramework 6.0.0’. Adding ‘EntityFramework 6.0.0’ to AC. Successfully added ‘EntityFramework 6.0.0’ to AC. System.InvalidOperationException: This operation would create an incorrectly structured document. at System.Xml.Linq.XDocument.ValidateDocument(XNode previous, […]

ASP.NET中CORS的问题

我有这个应用程序,我想在Web.Config中设置我的自定义标题,唉,这并不总是万无一失。 上面的设置和它的迭代如 在所有场景中都没有为我工作过。 截至目前,此设置适用于大约50%的测试机器,并且在其他测试机器中提供405 Method Not Allowed 。 替代方法在WebApiConfig.cs设置,并取消注释Web.config的自定义标头。 //Web API Cross origin requests – Enable var cors = new EnableCorsAttribute(“*”, “*”, “*”); config.EnableCors(cors); 为什么这里有这么多含糊不清的地方?我怎么知道CORS一直在哪里工作? 我真的很感兴趣在Web.config上设置CORS,因为我希望在部署版本中灵活地修改它。

用户或管理员未同意使用该应用程序 – 发送此用户和资源的交互式授权请求

我们正在做这个 CRM Web API项目。 该项目登录到Dynamics CRM在线实例并获取帐户列表。 登录似乎正在发生。 但是,帐户列表会出现以下错误: AADSTS65001:用户或管理员未同意使用ID为“xxxx-xxxxx-xxxx-xxx”的应用程序。 发送此用户和资源的交互式授权请求。 跟踪ID:e3b360d6-39fb-4e61-87d9-26531f30fd7b相关ID:9b2cff0c-074e-44fe-a169-77c8061a7312时间戳:2016-10-18 10:12:49Z 权限已正确设置 : 问题是什么?

WebAPI帮助页面:禁用生产版本

我在VS 2010中使用旧的WCF框架开发了许多内部REST接口。它生成帮助页面的能力对DEV和QA平台来说很方便,但对于生产版本,很容易禁用这些帮助页面的生成在web.config文件中: 我现在正在继续使用WebAPI框架(目前在VS 2012上使用版本1),但是关闭此function似乎并不简单(即我找不到任何有关如何执行此操作的信息)一个web.config文件)。 当然,我可以继续在代码本身内手动执行此操作,但肯定有一种更简单的方法; 类似于WCF如上所述的做法。 我想使用web.config文件方法,因为我已经为其他设置准备了web.release.config转换文件。 任何关于此的最佳实践的想法将不胜感激。

如何将Windows身份validation凭据从客户端传递到Web API服务

在我的企业环境中,我有IIS7.5托管Web API服务和一个单独的网站,通过RestSharp库调用该服务。 两者目前都配置了Windows身份validation。 如果我使用浏览器导航到任何一个,我被提示输入我的Windows凭证,一切都很好……我得到了我想要的网页,REST服务吐出了我的数据。 我正在努力弄清楚的部分是如何使用单个凭证进行身份validation。 我无法弄清楚如何将网站的凭证传递给服务(我尝试模仿,但它不起作用),或手动提示用户输入用户名/密码,然后用“Windows”validation它们。 帮助一个菜鸟?

ASP.NET WebApi OData对DTO的支持

我有Project实体和ProjectDTO。 我正在尝试创建一个WebAPI控制器方法,可以获取并返回ProjectDTO并使其支持OData。 问题是我正在使用可以使用Project实体而不是Project DTO查询数据库的ORM。 有没有办法可以根据ProjectDTO从OData应用过滤/排序/分页到Project实体查询? public ODataQueryResult GetProjects(ODataQueryOptions query) { var context = new ORM_Context(); var projects = context.Projects; // IQueryable var projectDtos = query.ApplyTo(projectDTOs)); // new ProjectDTO { Id = x.Id, Name = x.Name }); var projectsQueriedList = projectDtos.ToList(); var result = new ODataQueryResult(projectsQueriedList, totalCount); return result; }

ASP.NET Web API MVC 4中具有特殊字符的自定义参数名称

我需要创建一个Get方法,该方法在URL中采用以下参数名称: ms-scale ms-contrast ms-lang 正如您所看到的,所有名称都有一个破折号,这在C#中是不可能的。 如何将我的方法映射到这些参数名称? public HttpResponseMessage Get(int scale, string contrast string lang)