Questions tagged «asp.net-web-api»

ASP.NET Web API是用于为客户端(如浏览器和移动设备)构建HTTP服务的框架。它基于Microsoft .NET Framework,是构建RESTful服务的理想选择。

5
获取远程主机的IP地址
在ASP.NET中,有一个System.Web.HttpRequest类,其中包含ServerVariables可以从REMOTE_ADDR属性值提供IP地址的属性。 但是,我找不到从ASP.NET Web API获取远程主机IP地址的类似方法。 如何获得发出请求的远程主机的IP地址?

15
带有ASP.NET Web API的JSONP
我正在使用Web API在ASP.MVC MVC 4中创建一组新的服务。到目前为止,太好了。我已经创建了服务并使它工作,现在我正尝试使用JQuery来使用它。我可以使用Fiddler取回JSON字符串,这似乎还可以,但是由于该服务存在于单独的站点上,因此尝试使用带有“不允许”的JQuery错误来调用它。因此,这显然是我需要使用JSONP的情况。 我知道Web API是新的,但是我希望那里的人可以帮助我。 如何使用JSONP调用Web API方法?

11
如何将多个参数传递给ASP.Net Web API GET?
我正在使用.Net MVC4 Web API来(希望)实现RESTful api。我需要向系统传递一些参数,并让它执行一些操作,然后返回对象列表作为结果。具体来说,我传递了两个日期并返回了两个日期之间的记录。我还跟踪返回的记录,以便后续调用不会在系统中得到重新处理。 我考虑了几种方法: 将参数序列化为一个JSON字符串,然后在API中将其分离。 http://forums.asp.net/t/1807316.aspx/1 在查询字符串中传递参数。 将多个查询参数传递给静态API的最佳方法是什么? 定义路径中的参数:api / controller / date1 / date2 使用POST可以使我通过参数传递对象。 由于Web API(当前)支持ODATA,因此正在研究ODATA。我还没有做很多事情,所以我不太熟悉。 似乎正确的REST做法表明何时提取数据,应该使用GET。但是,GET也应该是无效的(不产生副作用),并且我想知道我的具体实现是否违反了该规定,因为我在API系统中标记了记录,因此产生了副作用。 这也使我想到了支持可变参数的问题。如果输入参数列表发生更改,那么如果必须经常为选择3重新定义您的路线,那将很麻烦。如果在运行时定义参数会发生什么... 无论如何,对于我的特定实现,哪种选择(如果有)似乎最好?



4
MVC 5项目和Web Api项目之间的区别
我是ASP.NET MVC和Web API的新手,正在尝试获取基础知识。据我所知,我们在VS 2013项目模板,命名为MVC,Web API和Both of them together。 我遍历了教程,了解到我们可以单独使用MVC以及使用Web API模板来制作API。 那么,基于体系结构和用法,它们之间有什么区别?

23
Java用非零退出值2结束-Android Gradle
我在执行我的Android应用程序时遇到此错误(我先清理了它,然后构建了它,但该错误仍然存​​在) 同步:确定 制作项目:确定 清洁:可以 运行:错误 错误:任务':app:dexDebug'的执行失败.com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:处理'command'C:\ Program Files \ Java \ jdk1.7.0 _25 \ bin \ java.exe''的退出值非零2 我的gradle文件: apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.rzr.rzevallosr.miappdepruebas" minSdkVersion 19 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } …


9
Web API放置请求生成Http 405方法不允许错误
这是PUT对我的Web API上的方法的调用-方法的第三行(我从ASP.NET MVC前端调用Web API): client.BaseAddress是http://localhost/CallCOPAPI/。 这里是contactUri: 这里是contactUri.PathAndQuery: 最后,这是我的405回复: 这是我的Web API项目中的WebApi.config: public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Routes.MapHttpRoute( name: "DefaultApiGet", routeTemplate: "api/{controller}/{action}/{regionId}", defaults: new { action = "Get" }, constraints: new { httpMethod = new HttpMethodConstraint("GET") }); var …

8
使用AngularJS从ASP.NET Web API方法下载文件
在我的Angular JS项目中,我有一个<a>锚标记,单击该锚标记会生成一个HTTPGET会对返回文件的WebAPI方法请求。 现在,我希望一旦请求成功就将文件下载给用户。我怎么做? 锚标记: <a href="#" ng-click="getthefile()">Download img</a> AngularJS: $scope.getthefile = function () { $http({ method: 'GET', cache: false, url: $scope.appPath + 'CourseRegConfirm/getfile', headers: { 'Content-Type': 'application/json; charset=utf-8' } }).success(function (data, status) { console.log(data); // Displays text data if the file is a text file, binary if it's an image …

2
如何实现异步动作委托方法?
一点背景资料。 我正在学习Web API堆栈,并且正在尝试以带有诸如Success和ErrorCodes之类的参数的“结果”对象的形式封装所有数据。 但是,不同的方法将产生不同的结果和错误代码,但是结果对象通常将以相同的方式实例化。 为了节省时间并进一步了解C#中的异步/等待功能,我试图将Web api操作的所有方法体包装在异步操作委托中,但遇到了一些麻烦... 给定以下类别: public class Result { public bool Success { get; set; } public List<int> ErrorCodes{ get; set; } } public async Task<Result> GetResultAsync() { return await DoSomethingAsync<Result>(result => { // Do something here result.Success = true; if (SomethingIsTrue) { result.ErrorCodes.Add(404); result.Success = false; } …

14
MVC Web API:所请求的资源上不存在“ Access-Control-Allow-Origin”标头
我尝试了本文中写的所有内容:http : //www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api,但没有任何效果。我正在尝试从webAPI2(MVC5)获取数据,以使用angularJS在另一个域中使用。 我的控制器看起来像这样: namespace tapuzWebAPI.Controllers { [EnableCors(origins: "http://local.tapuz.co.il", headers: "*", methods: "*", SupportsCredentials = true)] [RoutePrefix("api/homepage")] public class HomePageController : ApiController { [HttpGet] [Route("GetMainItems")] //[ResponseType(typeof(Product))] public List<usp_MobileSelectTopSecondaryItemsByCategoryResult> GetMainItems() { HomePageDALcs dal = new HomePageDALcs(); //Three product added to display the data //HomePagePromotedItems.Value.Add(new HomePagePromotedItem.Value.FirstOrDefault((p) => p.ID == id)); List<usp_MobileSelectTopSecondaryItemsByCategoryResult> items …

11
Web API控制器中的多个HttpPost方法
我开始使用MVC4 Web API项目,我有多种HttpPost方法的控制器。控制器如下所示: 控制者 public class VTRoutingController : ApiController { [HttpPost] public MyResult Route(MyRequestTemplate routingRequestTemplate) { return null; } [HttpPost] public MyResult TSPRoute(MyRequestTemplate routingRequestTemplate) { return null; } } 这里MyRequestTemplate表示负责处理请求中的Json的模板类。 错误: 当我使用Fiddler发出请求时,http://localhost:52370/api/VTRouting/TSPRoute或者http://localhost:52370/api/VTRouting/Route 出现错误: 找到多个符合要求的动作 如果我删除上述方法之一,则可以正常工作。 Global.asax 我尝试修改中的默认路由表global.asax,但仍然出现错误,我认为在global.asax中定义路由时遇到问题。这是我在global.asax中所做的事情。 public static void RegisterRoutes(RouteCollection routes) { routes.MapHttpRoute( name: "MyTSPRoute", routeTemplate: "api/VTRouting/TSPRoute", defaults: new …

6
有没有一种方法可以强制ASP.NET Web API返回纯文本?
我需要从ASP.NET Web API控制器获得纯文本格式的响应。 我尝试用发出请求,Accept: text/plain但似乎没有成功。此外,该请求是外部的,不受我的控制。我要完成的是模仿旧的ASP.NET方法: context.Response.ContentType = "text/plain"; context.Response.Write("some text); 有任何想法吗? 编辑,解决方案:基于Aliostad的回答,我添加了WebAPIContrib文本格式化程序,并在Application_Start中对其进行了初始化: config.Formatters.Add(new PlainTextFormatter()); 然后我的控制器出现了类似以下内容: [HttpGet, HttpPost] public HttpResponseMessage GetPlainText() { return ControllerContext.Request.CreateResponse(HttpStatusCode.OK, "Test data", "text/plain"); }

6
如何使用ApiController返回原始字符串?
我有一个服务于XML / JSON的ApiController,但我希望我的操作之一返回纯HTML。我尝试了以下内容,但仍返回XML / JSON。 public string Get() { return "<strong>test</strong>"; } 这就是上面的返回: <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"><strong>test</strong></string> 有没有一种方法可以只返回不经过转义的纯文本,甚至不包含周围的XML标签(可能是action属性的返回类型不同)?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.