我是angularJS的新手.我设法使用angularJS构建了一个phonegap应用程序.该应用程序还可以,运行得很好.问题是,现在我对angularJS的工作方式有了更多的了解(至少我认为我有),我担心我的app文件结构和代码可维护性.我的项目遵循角度种子模式.GitHub上的Angular Seed,我有这个结构:
js
app.js
controllers.js
directives.js
services.js
filters.js
Run Code Online (Sandbox Code Playgroud)
在研究了如何使用angularJS构建应用程序后,我发现了一些非常好的文章:使用AngularJS构建Huuuuuge应用程序以及如何构建大型角度应用程序
我的问题对我来说似乎很愚蠢,但我无法找到出路.我设法将我的控制器分成不同的文件,现在我有了这个结构:
scripts
controllers
LoginCtrl.js
HomeCtrl.js
AboutCtrl.js
ClientCtrl.js
Run Code Online (Sandbox Code Playgroud)
我正在努力的事情是,在我之前的应用程序的方式,我只有一个controller.js文件.在我的index.html文件中,我通常使用脚本标记加载所有脚本文件.现在我的控制器有4个不同的.js文件,如何将它们加载到我的index.html文件中?我是否必须在那里加载它们?
我在index.html文件中加载所有脚本看起来并不正确(我知道有一个文件代码将以相同的方式加载,对我来说,包含很多脚本标签对我来说很奇怪) .我在github上找到了ng-boilerplate项目,在他们的index.html上,他们动态加载脚本.问题是,我现在无法启动新的ng-bolierplate,我找不到他们是如何做到的.抱歉,长篇文章.谢谢!
我有以下代码(用typescript编写,但可以是任何JS变体):
this.http.get('configs/config.json').subscribe(...);
Run Code Online (Sandbox Code Playgroud)
基本上,我正在从本地json文件加载配置.我想在文件上实现缓存清除.虽然我可以通过添加哈希后缀来设置我的webpack来修改json文件,但我还需要修改所有引用这些文件的源文件.string-replace-loader可能会做这个工作,但这样做有点奇怪.
此外,在某些情况下,我无法访问使http调用资源的代码行(第三方插件,例如,加载类似的翻译,i18n/[lang].json因此我不能直接修改代码和/或名称(因此内容) hash)仅在运行时才知道.
有没有类似URL重写的webpack可以解决这个问题?
我的项目中有一个带有 EF Core 的 SQL Server 数据库,我想在另一个表中添加一个表和一个列。但是当我Add-Migration在 PM 控制台中运行时,我收到此错误
An item with the same key has already been added. Key: MyProject.Model.MyContext
MyProject我的 asp.net core 项目和MyContextDbContext 类在哪里。
我的 DbContext 类看起来像
namespace MyProject.Model
{
public class MyContext : DbContext
{
public MyWorker Worker { get; private set; }
/// <summary>
/// initialize the worker instance to get the crud methods of the database
/// </summary>
public MyContext()
{
Worker = new MyWorker(this);
}
public static string GetConnectionString() …Run Code Online (Sandbox Code Playgroud) c# entity-framework entity-framework-core entity-framework-migrations
我正在尝试使用ADFS(内部)设置我们的Angular SPA + .ASPNET核心API以摆脱Windows身份验证.最终目标是:
在ADFS上正确配置了Angular SPA和API.我正在使用angular-oauth2-oidc配置spa.
问题是:加载SPA时,当SPA尝试到达OpenId Discovery端点(.well-known/openid-configuration)时,我收到CORS错误.所以我甚至无法将用户重定向到ADFS.什么都行不通.
我在网上看了很多,发现很多其他人说ADFS不支持CORS.虽然看起来很奇怪.Microsoft声称它们支持单页应用程序,因此您已经或多或少地假设ADFS将接收CORS请求.
还有其他人遇到过这个问题吗?严重的是,微软已经实现了这一点,并没有以允许CORS请求的方式构建?
编辑:我也尝试在adal.js周围创建一个包装器.我设法将用户重定向到ADFS,登录并获取id_token.现在的问题是,sts aud在令牌中返回spa的声明,而不是api.当SPA使用令牌调用API时,它按预期失败.感觉就像我已经走到了尽头.
我在玩 MailKit/MimeKit,有些东西困扰着我。我想使用流发送带有附件的电子邮件。MimeKit 提供的BodyBuilder类可以很容易地创建正文消息和附加文件:
public void SendEmail(string body, Stream attachment, string fileName)
{
var message = new MimeMessage();
message.From.Add(new MailboxAddress("Carl", "carl@site.com"));
message.To.Add(new MailboxAddress("Rick", "rick@site.com"));
message.Subject = "Things got messy...?";
var builder = new BodyBuilder();
builder.TextBody = body;
builder.Attachments.Add(fileName, attachment);
message.Body = builder.ToMessageBody();
using (var client = new SmtpClient())
{
// code to send e-mail here...
}
}
Run Code Online (Sandbox Code Playgroud)
我在我的代码中的其他地方生成了流并且我没有关闭它,所以我可以将它传递给 MimeKit。不清楚的是:MimeKit 是否处理流?基本上(据我所知)消费者通常负责处理流。我也知道在 MemoryStream 上调用 dispose (我基本上正在使用)不会释放任何资源..但会阻止读取/写入它。但是,如果将来实现更改为另一种类型的 Stream,事情会变得更加复杂。
我还深入研究了 MikeKit 源代码,发现传入的 StreamAttachmentCollection.Add被“添加”到了MemoryBlockStream继承自 Stream(并实现 Dispose)的 Stream 中,所以我假设它已被处理,但在这一点上,我只是猜测。
有任何想法吗?
在更改之后或更改之前,我们将实体状态置为=修改是否重要?
using (var db = new LakshyaContext())
{
foreach (var category in db.Categories)
{
db.Entry(category).State = EntityState.Modified; // before
category.Count = 25; //Making Changes
db.Entry(category).State = EntityState.Modified; //After
}
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud) 将 ASP Core 2 与 EF Core 和 SQL Server 一起使用。我有,我认为检索给定分销商的制造商(或单个制造商)列表是一项简单的任务。
Users 表提供经过身份验证的用户,每个用户都与一个分销商相关联(在模型中表示为_user)。因此,当在GetManufacturers()上调用操作时ManufacturersController,它应该返回给定分销商的所有制造商。同样,GetManufacturers(int id)如果它与经过验证的分销商相关联,则应返回单个制造商。
为此,我正在尝试各种公式,例如:
await _context.Manufacturers
.Include(a => a.Addresses)
.Include(m => m.DistributorManufacturers)
.Where (a => a.AddressesNavigation.State = "CA")
.Where (m => m.Id == id) // Manufacturers Id
.Where (d => d.DistributorManufacturers.DistributorId == _user.DistributorId)
.AsNoTracking()
.ToListAsyc()
Run Code Online (Sandbox Code Playgroud)
VS 抱怨ICollection<DistributorManufacturers>不包含定义DistributorId(即使我从类中复制/粘贴了它)。它与我的地址过滤器在概念上没有区别。
我也尝试.ThenInclude添加分销商表,但没有运气。
DistributorManufacturers 表是使用 Scaffold-DbContext 创建的,并定义了外键和导航属性。
My .Net Core version is 3.0.100-preview6-012264. You can ask me why I use the preview version. The main reason is useful work with GRPC (scaffolding for this). Now I would like to use entity framework in my project. I have the following .csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Protobuf Include="Protos\dashboard.proto" GrpcServices="Server" Generator="MSBuild:Compile" />
<Protobuf Include="Protos\users.proto" GrpcServices="Client" Generator="MSBuild:Compile" />
<Protobuf Include="Protos\anal.proto" GrpcServices="Client" Generator="MSBuild:Compile" />
<Content Include="@(Protobuf)" />
<None Remove="@(Protobuf)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="DimaRabbitLogger" Version="1.3.3" />
<PackageReference Include="Grpc.AspNetCore.Server" …Run Code Online (Sandbox Code Playgroud) entity-framework-core entity-framework-migrations .net-core-3.0
我有一个带有 API 的标准 Net core Web 应用程序。我正在尝试实施健康检查,但希望它在不同的端口上运行。
在配置中:
app.UseHealthChecks("/health", 8000);
Run Code Online (Sandbox Code Playgroud)
在配置服务中
services.AddHealthChecks()
Run Code Online (Sandbox Code Playgroud)
默认情况下,可通过以下方式访问 api: https://localhost:44322/api/values
然后我希望可以通过以下方式访问健康检查:https://localhost:8000/health
如果我移除端口,健康状况会很好。我是否需要一些其他配置来将应用程序设置为在不同端口上运行?
c# ×5
angular ×2
asp.net-core ×2
entity-framework-migrations ×2
.net-core ×1
adfs4.0 ×1
angular-seed ×1
angularjs ×1
caching ×1
cors ×1
ef-core-2.2 ×1
javascript ×1
mailkit ×1
mimekit ×1
stream ×1
webpack ×1