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

首页> C#>如何保护WebAPI的单页

我正在另一台机器上构建一个具有MVC4单页前端和WebAPI的应用程序,该应用程序将json查询数据直接返回到浏览器.身份验证发生在MVC端,在该端建立了一个用户对象,该对象为当前用户定义了一组“ canDoX”权限. 问题在于,当用户从页面.js接收到请求时,如何在不重新验证和授权用户的情况下基于这些权限来确保对WebAPI操作的访问权限. 就目前而言,用户将必须了解api,但如果这样做,他们可以破解url并通过’/ api / myController / myRestric...

c#-WebApi(MVC 5)PUT方法不允许使用HTTP / 1.1 405方法【代码】

我的Android应用程序需要将一些数据更新到服务器,为此我编写了一些WebApi代码以用于更新和从我的Android应用程序发送数据.当我在本地服务器上测试时,两者都可以正常工作,但是在上传到全局后,它不起作用并给出如下错误:(在android app和fidler中都进行了测试)HTTP/1.1 405 Method Not Allowed Allow: GET, HEAD, OPTIONS, TRACE Content-Type: text/html Server: Microsoft-IIS/8.0我在Android和C#中都使用了简单的代码: Android代...

C#-WebAPI在IIS中不返回xml【代码】

我一直在努力解决这个问题,以便找到根源,但是还没有运气.我的WebAPI在IIS中自己的应用程序池中运行,并且该操作假定返回XML和JSON,但仅返回JSON.更为奇怪的是,它在其他PC上运行良好,因此我猜测是IIS一定有问题,或者我缺少某种配置.如果我使用Visual Studio Server但不使用IIS,则效果很好. API配置://Added to support .net1.1 clients config.Formatters.XmlFormatter.UseXmlSerializer = true; config.Formatters.JsonFormatter.U...

C#-ASP.Net WebApi 2示例文本属性【代码】

有没有一种方法可以提供使用属性生成Web API帮助页面的示例?我知道我可以通过/ Areas / HelpPage /提供样品.但是我希望它们与我的代码一起放在一个地方. 遵循以下原则:/// <summary>/// userPrincipalName attribute of the user in AD/// </summary>[TextSample("john.smith@contoso.com")]public string UserPrincipalName;解决方法:这可以通过自己创建自定义属性来实现,例如:[AttributeUsage(AttributeTargets.Property)] pu...

c#-MVC WebAPI中的MapRoute或MapHttpRoute【代码】

由于WebApi路由映射可以通过MapHttpRoute完成:myConfig.Routes.MapHttpRoute(name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional });我还需要使用MapRoute这样映射路线吗?RouteTable.Routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });>第一个问题:如果我错了...

c#-从Service Fabric WebAPI控制器写入ServiceEventSource【代码】

在我的有状态服务中,可以通过调用以下内容来写入ServiceEventSource:ServiceEventSource.Current.ServiceMessage(this.Context, "this is my log message");有谁知道我如何在无状态WebAPI控制器中进行相同的调用?看来我无法将上下文放入控制器.我注意到它仅在我的OwinCommunicationListener中可用. 基本上,我希望能够这样记录我的控制器:public async Task<IHttpActionResult> Get(string id) {ServiceEventSource.Current.Serv...

C#-EnableCors在WebApi中不起作用【代码】

我按照aspnet网站教程启用了cors,但我无法使其正常运行. 在WebApiConfig上注册方法:public static void Register(HttpConfiguration config){config.EnableCors(new EnableCorsAttribute("*", "*", "*"));config.MapHttpAttributeRoutes();}控制器:public class TestController : Controller{[Route("test/{*anything}")]public ActionResult Index(){return Json(new { test = "test message" },JsonRequestBehavior.AllowGet);...

C#-淘汰赛中的ASP.Net WebAPI Owin身份验证令牌【代码】

我正在尝试创建一个演示项目,该项目使用.Net ASP.Net WebAPI和KnockoutJs作为前端.我已经创建了侦听/ token帖子,验证用户并返回令牌的控制器方法.这是从Knockout视图模型的Ajax Post完成的. 此代码有效.但是,当我从webApi获得200(成功)返回时,然后我将重定向到一个用[Authorize]装饰的控制器方法.那就是我打到401的地方-未经授权.Login(){var data = {username : this.login.emailAddress(),password : this.login.password(),Reme...

c#-将版本添加到现有的WebAPI【代码】

我有一个现有的ASP.NET WebAPI项目,其控制器如下所示:namespace WebSite.WebApi.Controllers {[RoutePrefix("api/accounts")]public class AgreementsController : ApiController{// GET ~/api/accounts/xxx[Route("{accountId}")]public IHttpActionResult Get(string accountId) => Ok( $"Account #{accountId} from default controller");} }我通过使用以下URL调用操作方法:/ api / accounts / 123 现在,我想制作该控制器的另...

c#-在asp.net WebAPI中返回数组对象【代码】

我想创建将输入发送到Angular的WEB API.我想以JSON格式将数据作为数组发送. 下面是我的代码:[HttpGet] [ActionName("GetEmployeeByID")] public Employee Get(int id) {Employee emp = null;while (reader.Read()){emp = new Employee();emp.ClientId = Convert.ToInt32(reader.GetValue(0));emp.ClientName = reader.GetValue(1).ToString();}return emp; }实际输出:{"ClientId":15,"ClientName":"Abhinav Singh"}预期产量:[{"...

c#-ASP.NET WEBAPI核心中的模型状态验证【代码】

我正在尝试在ASP.NET WEBAPI Core中使用模型验证.下面提到的是我模型中的代码.[Range(typeof(decimal), "1.0", "90.1")] public decimal price{ get; set; }我的理解是,如果我传递的值不在1.0-90.1之间,则ModelState.Valid应该为false. 这是我尝试调用该方法的网址,http://localhost:57270/api/testprice?price=132.7492634由于我传递的值大于90,因此我期望ModelState.Valid为false.但是总是将ModelState.Valid变为真实. 我有什么想...

C#-ASP.NET Core WebAPI 2 PUT方法名称【代码】

我已经苦苦挣扎了一段时间,似乎无法解决这个问题. 我有一个控制器,说“老师”. 我想要一个具有不同名称的PUT操作,但是接受[FromBody]一个复杂的DTO. 如何调用?我尝试的一切都给了我404.[Produces("application/json")] [Route("api/Teacher")] public class TeacherController : Controller {private readonly ITeacherService _teacherService;public TeacherController(ITeacherService teacherService){this._teacherService =...

c#-Webapi传输大量的大文件【代码】

这个问题已经在这里有了答案: > Returning binary file from controller in ASP.NET Web API 7个我目前正在计划通过网络API的更新机制.传输的文件最大为1 GB,并且可能有20个客户端同时尝试获取文件. 每当我查看示例时,都会发现类似以下内容(简化):public HttpResponseMessage GetFile(string name) {var reqFile = @"C:\updates\" + name;var dataBytes = File.readAl...

C#-将json发布请求中的多个复杂参数传递给asp.net WebApi【代码】

假设ApiController的动作具有多个参数:[HttpPost] public void AddAddress( Person person, Address address, int simple )或类似的东西.现在,我尝试发送内容类型为application / json和json的发布请求,如下所示:{person: {...}, address: {..}, simple: 1 }只是假设它是有效的json;) 或像这样的json数组中: [人,地址,简单] 但是WebApi无法识别这一点,并告诉我它找不到操作,因为它不支持json请求中的多个参数. 我正在使用Htt...

c#-单元测试以确保仅选定的HTTP动词适用于WebAPI【代码】

使用WebAPI. 我们已经创建的测试之一是确保对于特定控制器,仅允许GET动词. 编写了一个使用MVC帮助页面的测试HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(baseAddress); config.Routes.MapHttpRoute("SearchAPI", "api/{controller}/{id}");HttpSelfHostServer server = new HttpSelfHostServer(config); server.OpenAsync().Wait(); IApiExplorer apiExplorer = config.Services.GetApiExplorer(); var api...

WEBAPI - 相关标签