Tag: angular

找不到Angular2 POST Web api 404

我正在构建一个Angular2服务来记录存储在ILog对象中的某些事件,并将它们发送到API以存储在数据库中。 我的日志服务非常简单: import { Injectable } from ‘@angular/core’; import { Http } from ‘@angular/http’; import { EnvironmentModule } from “../environment”; import { ILog } from “./log”; @Injectable() export class LogService { constructor(private _http: Http, private environment: EnvironmentModule) { } postLog(log: ILog): void { this.json = this.convertToJSON(log); this._http.post(this.environment.getWebApiUri() + ‘api/Log/PostLog/’, log, {}) .subscribe( () => console.log(‘Success’) […]

使用HttpClient.GetAsync方法的LINQ(Skip和Take)方法来提高性能?

我使用以下代码来检索JSON提要的内容,如您所见,我使用了分页技术和Skip and Take方法,如下所示: [HttpGet(“[action]”)] public async Task MyMethod(int page) { int perPage = 10; int start = (page – 1) * perPage; using (HttpClient client = new HttpClient()) { client.BaseAddress = new Uri(“externalAPI”); MediaTypeWithQualityHeaderValue contentType = new MediaTypeWithQualityHeaderValue(“application/json”); client.DefaultRequestHeaders.Accept.Add(contentType); HttpResponseMessage response = await client.GetAsync(client.BaseAddress); string content = await response.Content.ReadAsStringAsync(); IEnumerable data = JsonConvert.DeserializeObject<IEnumerable>(content); myPaginatedReturnedData datasent […]

用angular 2 app替换现有的MVC项目

这听起来有点奇怪,但我会解释我想做什么。 我目前有一个用C#编写的MVC网站正在使用Razor Views。 在同一个项目中,我添加了一个API,我可以这样访问:www.mysite.com/api/controller/get。 只需访问www.mysite.com/controllername/index即可访问普通页面。 现在的问题是我用angular 2重新创建了网站,现在我需要在线发布网站,我的意思是完全取代mvc项目。 我的解决方案1是将角度应用程序和api分开:所以,我在www.mysite.com上发布了有角度的网站,并在api.mysite.com上发布了api。 解决方案2?:我想知道是否可以通过angular 2应用程序简单地替换当前项目的MVC部分? 所以一切都停留在同一个域上。 (又名同一个项目) 编辑:如果解决方案2是可能的:如何在没有与mvc项目冲突的路由的情况下在项目中包含angular 2应用程序。 换句话说,我想删除MVC路由。

Angular 4 – 如何从ASP.Net web api获取数据

使用着名的Visual Studio 2017 Angular 4模板,我测试了侧导航按钮,可以获取内存中的数据。 然后我在项目中添加了一个新的ASP.Net Core 2.0 API控制器,它使用Entity Framework连接到数据库,并使其运行200 HTTP GET结果。 控制器代码: #region TodoController namespace TodoAngularUI.Controllers { [Route(“api/[controller]”)] public class TodoController : Controller { private readonly SchoolContext _context; #endregion public TodoController(SchoolContext DbContext) { _context = DbContext; if (_context.Todo.Count() == 0) { _context.Todo.Add(new Todo { TaskName = “Item1” }); _context.SaveChanges(); } } #region snippet_GetAll [HttpGet] […]

使用高级加密标准算法(AES)在TypeScript中加密字符串并在C#中解密

我很难在C#中使用打字稿和解密来实现加密。 在这里发布问题之前,我做了谷歌并找到了一些链接,但这些链接与JavaScript有关,而不是打字稿。 使用AES算法在javascript中加密并在C#中解密 使用angular2中的cryptojs库加密文本 如何在Angular 2中导入非核心npm模块,例如(使用加密库)? 我按照上面的链接,在我当前的应用程序中实现加密/解密概念。 这是我在myservice.ts中编写的代码 //import { CryptoJS } from ‘node_modules/crypto-js/crypto-js.js’; //import ‘crypto-js’; import * as CryptoJS from ‘crypto-js’; var key = CryptoJS.enc.Utf8.parse(‘7061737323313233’); var iv = CryptoJS.enc.Utf8.parse(‘7061737323313233’); var encrypted = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(“It works”), key, { keySize: 128 / 8, iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); var decrypted = CryptoJS.AES.decrypt(encrypted, key, { keySize: […]

ASP.net核心web api:使用Facebook / Google OAuth访问令牌进行身份validation

几天来,我正试图通过Google和Facebook获得OAuth认证,以便在我的ASP.net核心web api项目中工作。 我目前的状态是: 我有一个ASP.net核心Web Api项目,用户需要在其中进行身份validation 我有一个有角度的2 web应用程序,它应该使用我的web api(带身份validation) 我有一个Android应用程序,它应该使用我的web api(带身份validation) 我的目标是: 使用Google / Facebook作为OAuth提供商进行登录 稍后:添加自己的用户帐户(可能使用IdentityServer4) 无需重定向到特殊的登录网站(如IdentityServer4解决方案)。 只需点击应用中的facebook / google按钮,即可访问,完成! 在我的Android和角度应用程序中,我能够从谷歌/ Facebook检索访问令牌。 现在,我想使用OAuth隐式流,使用给定的访问令牌对我的web api上的用户进行身份validation(将令牌作为承载令牌放入标头中) 有我的问题:有没有任何genric方式来轻松做到这一点? 我不想使用facebook / google SDK。 我试过以下: 使用IdentityServer4 :有了这个,我可以在我的webapi上使用facebook / google登录,但是需要重定向到IdentityServer4登录页面。 有没有办法在我的应用程序中点击google / fb-Button并登录, 而无需重定向到identityServer登录页面? 使用google / facebook身份validation中间件 ( https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/ ):但他们没有validation我发送的持票人令牌(尝试了无数种方法来实现正确的validation)。 这甚至可以在web api中使用吗? 试图使用Microsoft.AspNetCore.Authentication.JwtBearer-Middleware并自己为google / facebook添加必要的选项,但也没有validation(以及无数次尝试) 在过去的几天里,我已经尝试了很多可能的解决方案,我完全陷入困境并且忘记了为实现这一目标我需要做些什么。 在这一点上,我已经阅读了几乎每个asp.net web api oauth教程/ stackoverflow条目,但无法弄清楚如何在我的情况下使用这个我想要的。 大多数教程仅适用于mvc-Websites或使用IdentityServer4重定向到其登录页面。 […]

ASP.NET Core和Angular 4入门在Visual Studio 2015中使用WEB API

下面是我在安装了Core Extension DotNetCore.1.0.1-VS2015Tools.Preview2.0.3.exe的Microsoft Visual Studio Professional 2015版本14.0.25431.01 Update 3中构建项目时所遵循的教程链接。 当我运行命令’dotnet run’时,它会抛出一些错误。 错误是: C:\ Data \ ApprovaOSPOC \ ASPNETCOREDEMO1 \ node_modules \ selenium-webdriver \ lib \ test \ data \ Page.aspx.cs(4,36):错误CS0234:命名空间中不存在类型或命名空间名称“Web”系统’(你错过了一个程序集参考吗?) C:\ Data \ ApprovaOSPOC \ ASPNETCOREDEMO1 \ node_modules \ webdriver-js-extender \ node_modules \ selenium-webdriver \ lib \ test \ data \ Page.aspx.cs(4,36):错误CS0234:类型或命名空间名称’Web ‘命名空间’系统’中不存在(你是否缺少程序集引用?) C:\ Data […]

通过子项无限制嵌套ngFor

我在Angular2中找到了几个关于嵌套ngFor循环的问题但不是我正在寻找的问题。 我想在列表中显示类别。 我的JSON看起来像这样: { Categories: [{ “Title”: “Categorie A”, “Children”: [ { “Title”: “Sub Categorie A”, “Children”: [] } ] },{ “Title”: “Categorie B”, “Children”: [ { “Title”: “Sub Categorie B”, “Children”: [{ “Title”: “Sub Sub Categorie A”, “Children”: [] }] } ] }] } C#类看起来像这样: public class Child { public string Title { get; […]

将文件从MVC 5下载到Angular 2

我有C#后端和ASP.Net MVC的经验。 现在我正在第一次尝试Angular 2.这需要时间,但我喜欢它的大部分内容。 现在我被困在一个简单的文件下载上。 我已经阅读了我在Stackoverflow上找到的所有示例,但我仍然没有得到我的例子。 在服务器端,我有这个C#代码: public ActionResult DownloadPicture(long id) { var bytes = System.IO.File.ReadAllBytes(“images\dummy.jpg”); return GetAttachement(bytes, “DummyFile.jpg”); } private ActionResult GetAttachement(byte[] bytes, string fileName) { var contentType = MimeMapping.GetMimeMapping(fileName); var contentDisposition = new System.Net.Mime.ContentDisposition { FileName = fileName, Inline = true }; Response.AppendHeader(“Content-Disposition”, contentDisposition.ToString()); return File(bytes, contentType); } 在客户端,我有这个Typescript代码: public pictureDownload(id: number): void […]

将Angular 4添加到ASP.NETCore项目

我想在Visual Studio 2017中的ASP.NetCore 1.1项目中使用Angular 4(读作:* .csproj文件) 以前使用ASP.NET Core 1.0和Visual Studio 2015,您只需将AngularJS(1.xx)作为依赖项添加到project.json中,它就可以自行连接。 现在,使用ASP.NetCore和VS2017, project.json文件已经消失,我可以找到的唯一文档是通过使用CLI并使用CLI生成一个新的角度应用程序来启动Angular 4项目。 我真的不想要一个新项目,或者必须重构我创建的所有内容,以便为单独的UI项目提供服务。 我只想通过一些额外的客户端UI体验来增强我的应用程序。 有什么建议? 更新 这个问题得到了很多观点,而且这些信息没什么帮助,所以我提供了这个更新。 Visual Studio 2017( *.csproj ) Asp.Net Core 2.0 + Angular(v2.0~v4.0)::使用内置模板! 最佳选择IMO。 Asp.Net Core 1.X + Angular(v2.0~v4.0) 创建VS项目。 通过Angular CLI创建Angular项目 配置和设置详细信息: 链接 Visual Studio 2015( project.json ) 工具:最高版本-preview2 – 没有进一步的更新,所有新的.NET Corefunction都将转移到VS 2017 Asp.Net Core 1.X + Angular(v2.0~v4.0) […]