【c# – 在4.5框架WebApi项目中使用2.0框架程序集】教程文章相关的互联网学习教程文章

c# – WebAPI传递的post参数为null【代码】

我正在使用WebAPI 2进行测试,我创建了以下控制器方法.// POST api/values public string Post([FromBody] string value) {string returnValue = "Return: " + value ;return returnValue; }当我用fiddler发布以下消息时,方法参数保持返回null.POST http://localhost:50814/api/Values/ HTTP/1.1 Host: localhost:50814 Content-Type: application/json Content-Length: 14{value: "New"}我已经尽可能地简化了我的代码,但它仍然保持...

c# – REST webapi URI GET使用字符串而不是id不按预期路由【代码】

我有以下示例,其中请求是http:// {domain} / api / foo / {username},但我得到404状态代码.此控制器上不存在其他Get操作.这不应该工作吗?public class FooController : ApiController {public Foo Get(string username){return _service.Get<Foo>(username);} }解决方法:默认情况下,您的路线将如下所示:config.Routes.MapHttpRoute(name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParam...

c# – webAPI返回类型【代码】

我是否应该始终返回相同的JSON解析对象 示例: 在网站上,用户输入他的用户名和密码. 当用户按下Submit时,他向/ api / logintest / {key}发送请求.如果用户和密码匹配,则此URL调用的方法应返回{errMsg:null}之类的JSON对象,如果不匹配,则返回{errMsg:“错误的用户名或密码”};或者如果用户详细信息不匹配,我应该返回错误消息,如果找到用户,则返回JSON中的用户对象? 这是我的代码[ResponseType(typeof(User))][HttpPost][Route("a...

c# – 调用Async WebAPI后,Control不会返回到等待的webClient【代码】

我们有一个Restful Client-Sever环境,我正在尝试调试我的代码,客户端代码如下所示:await Client.DoWork(Id);服务器代码如下所示:public virtual async Task<IActionResult> DoWork(long Id){return Ok();}请注意,客户端是该服务的webclient,它是从https://github.com/swagger-api/swagger-codegen代码自动生成的. 它永远不会返回的自动生成代码中的点如下所示:var response_ = await client_.SendAsync(request_,System.Net.Htt...

c# – 调试自托管的WebApi应用程序【代码】

我有一个WebApi应用程序与以下控制器:public class ContentController : ApiController {[HttpPost]public HttpResponseMessage Post(string contentType){//do stuffreturn new HttpResponseMessage(HttpStatusCode.OK);} }路线看起来像这样routes.MapHttpRoute("content", "api/content/{contentType}", new { controller = "Content", contentType = RouteParameter.Optional });当我在IIS / cassini中托管服务时,如果我按照预...

c# – WebAPI帮助页面 – 返回或参数模型/类属性的文档【代码】

我正在使用Web API帮助页面与Web API 2(5.0) – 两个最新的Nuget包.我希望帮助文档显示属性的注释,这些类是参数或在HttpResponseMessage的主体中返回. 例如,我有一个像这样的控制器方法:public HttpResponseMessage Post([FromBody] MyClassType1 myClass) {// Business logic removed for clarityreturn Request.CreateResponse(HttpStatusCode.OK, new MyClassType2()); }我想在MyClassType1和MyClassType2上的XML注释显示在上述...

c# – Ko ObservableArray对象未通过WebAPI更新【代码】

我有一个可观察的数组对象,它生成如下:self.SelectedVariable = ko.observableArray();self.VarUpdate = function (data) {$.getJSON("/api/Variable/" + ko.toJS(data.VarID), ko.toJS(data.VarID), function (Result) {for (var i = 0; i < Result.length; i++) {element = Result[i];self.SelectedVariable({ VariableID: ko.observable(element.VariableID), VariableDateLastUpdated: ko.observable(element.VariableDateLas...

c# – 自动绑定WebAPI中的另一个参数【代码】

在MVC中,这种事情非常简单.假设我有一个MVC动作签名:public ActionResult SomeAction(InjectedObject a, ConstructedObject b)让我们说来自客户端的请求包含ConstructedObject,我想自动在框架管道中构建InjectedObject. (在这个例子中,InjectedObject有许多动作,甚至可能是所有动作.)我可以创建一个InjectedObjectModelBinder:IModelBinder并在应用程序启动时注册该绑定器的实例. 该绑定器只是构造一个InjectedObject的实例,但我...

c# – WebAPI 2.使用相同的控制器方法响应所有HTTP谓词【代码】

我想用相同的控制器方法响应所有Http动词.我找到的唯一方法是通过装饰方法将所有的http方法attriubutes.在我看来,应该有一个更好的方法.是否有一个单一的装饰会更好,或者单个路线定义可能? [HttpDelete,HttpGet,HttpHead,HttpOptions,HttpPost,HttpPatch,HttpPut]解决方法:您可以使用AcceptVerbs属性来装饰您的控制器方法,如下所示.[AcceptVerbs("PATCH", "GET", "DELETE")]

c# – ASP.NET WebAPI和Angular POST【代码】

参见英文答案 > Angular2 HTTP Post ASP.NET MVC Web API 7个我有一个WebAPI控制器public class MyController : ApiController {[HttpPost]public SomeResult MyAction(string name, string message){return SomeResult.???;} }我有一个角度控制器调用这个方法$http.post("/api/My/MyAction", { name: "bob", message: "hello" }).then(function(xhr) { ... }, function(xhr) { ... });我得到了...

c# – WebApi2 IHttpActionResult强类型返回值【代码】

这样做是可能的,也不是理想的:(一个非常简单的例子!)[Serializable] public class MyRecord {public string key {get; set;}public string data {get; set;} }public async Task<IHttpActionResult> Get(string SomeKey) {if(ExistsInDB(SomeKey)){return Ok(SomeRecordFromDB(SomeKey)); //SomeRecord() returns a POCO MyRecord.}else{//I know I can return NotFound() but not the focus of my Qreturn Ok(false); //return...

c# – WebApi2控制器方法中的条件绑定【代码】

我正在使用Ninject包含以下包: > Ninject> Ninject.MVC5> Ninject.Web.Common(和Common.WebHost)> Ninject.Web.WebApi(和WebApi.WebHost) 我有一个WebApi2控制器,如下所示.我的Get()方法必须具有高性能,并且它不依赖于IMyFooService的值,因此我不关心是否在请求Get()时注入它. 题: 有没有办法让我有选择地绑定接口只有在调用某些api方法时?是通过使用属性还是……?public class FooController : ApiController {public IMyFooS...

c# – 新的WebApi项目没有API的默认路由(但仍可正常工作)【代码】

我已经创建了一个新的WebAPI MVC项目,API控制器的路径为http:// localhost:1234 / api,它们可以在此路由中工作,但RegisterRoutes类不包含默认路由,它包含以下内容:public static void RegisterRoutes(RouteCollection routes) {routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home", action = "Index", id = UrlParamete...

c# – 自终止自托管WebAPI【代码】

我有一个控制台应用程序,它自动托管ASP.Net WebAPI.我希望控制台应用程序能够根据对WebAPI的特定调用自行终止. 控制台应用程序很大程度上基于此处的示例 – > http://www.asp.net/web-api/overview/hosting-aspnet-web-api/self-host-a-web-api 提供一些背景; 控制台应用程序将与Jenkins CI结合使用,以自动执行Android应用程序的BDD测试. Jenkins将负责构建,安装和启动Android应用程序 – 然后它将调用此控制台应用程序. Android应...

c# – WebApi2属性路由继承了控制器【代码】

我正在尝试使用基本控制器创建基本的REST api,如下所示: 基类:public abstract class WebApiEntityController<TEntity> : ApiControllerwhere TEntity : EntityBase<TEntity, int> {private readonly IRepository<TEntity> _repository; protected WebApiEntityController(IRepository<TEntity> repository){_repository = repository;}[Route("")][WebApiUnitOfWork]public HttpResponseMessage Get(){return Request.CreateRes...

WEBAPI - 相关标签