我log4net在我的asp.net core 2.0应用程序中配置,如本文中提到的LINK
Program.cs中
public static void Main(string[] args)
{
var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly());
XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));
BuildWebHost(args).Run();
}
Run Code Online (Sandbox Code Playgroud)
HomeController的
public class HomeController : Controller
{
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(HomeController));
public IActionResult Error()
{
log.Info("Hello logging world!");
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}
Run Code Online (Sandbox Code Playgroud)
log4net.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="RollingFile" />
</root>
<appender name="RollingFile" type="log4net.Appender.FileAppender">
<file value="?C:\Temp\app.log" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d{hh:mm:ss} …Run Code Online (Sandbox Code Playgroud) 我在构建之后生成dist文件夹,我的目录看起来像
C:\Source\angular> ng build
Run Code Online (Sandbox Code Playgroud)
剪切并通过另一个目录中的dist文件夹
C:\ReSource\angularbuild
Run Code Online (Sandbox Code Playgroud)
在将Index.html更改为
<base href="./ReSource/angularbuild/dist">
Run Code Online (Sandbox Code Playgroud)
然后
C:\Source\angular> ng serve
Run Code Online (Sandbox Code Playgroud)
获取inline.bundle.js,main.bundle.js,styles.bundle.js,vendor.bundle.js,main.bundle.js 404找不到错误
我怎么能实现它?我想运行dist文件夹,它位于angularbuild文件夹中C:\Source\angular>
让我知道正确的方法.
这是我在 HTML 页面中使用的代码。在我的角度模块中,我导入所有相关的东西。但总是说这个错误是因为背景。请帮忙。我不知道这个背景。如果有人可以解释一下这个错误是什么以及为什么会出现?
<div class="animated fadeIn">
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header">
<i class="fa fa-align-justify"></i> Bootstrap Modals
</div>
<div class="card-block">
<!-- Button trigger modal -->
<button type="button" class="btn btn-secondary" data-toggle="modal" (click)="smallModal.show()">
Launch small modal
</button>
</div>
</div>
</div>
<!--/.col-->
</div>
<!--/.row-->
</div>
<div bsModal #smallModal="bs-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog modal-sm" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Modal title</h4>
<button type="button" class="close" (click)="smallModal.hide()" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div …Run Code Online (Sandbox Code Playgroud) 我的理解:
Asp.net MVC用于开发处理服务器请求的应用程序.它还提供视图.但最终它在服务器上呈现视图并将纯HTML发送给用户.
另一方面,angular JS不在服务器上进行任何处理.它只向客户端提供HTML或JavaScript文件,然后客户端执行这些文件.Angular Application仅通过服务器上运行的服务来预期数据.
我的问题:
如果在任何角度都不会导致任何服务器端处理负载,为什么不总是使用它来开发前端应用程序,而在服务器上为什么不使用任何服务(如Web API或WCF)而不是MVC?简而言之,为什么我们需要服务器侧视图处理框架,而不是我们可以在客户端上的服务器和角度应用程序上提供服务?
我遇到了一个问题。我有一个input元素和函数来显示“加载”动画。问题是,一旦我放下文件或单击并选择它们,“加载”动画就会显示几秒钟的延迟(多个文件或大文件)。
注意:使用 Angular 2+ 制作的解决方案这就是原因(change)
解决方案一:
HTML:
<input type="file" multiple="true" (change)="uploadImgs($event)"/>
Run Code Online (Sandbox Code Playgroud)
JS:
uploadImgs(event: any) {
console.log('START UPLOAD!')
this.spinnerService.start();
///restOfTheLogic...}
Run Code Online (Sandbox Code Playgroud)
解决方案2:使用onDrop事件触发this.spinnerService.start();显示动画
HTML:
<div (drop)="spinnerService.start();">
<input type="file" multiple="true (change)="uploadImgs($event)"/>
</div>
Run Code Online (Sandbox Code Playgroud)
解决方案 3:触发这两个函数onChange/onDrop
HTML:
<input type="file" multiple="true (change)="spinnerService.start(); uploadImgs($event)"/>
Run Code Online (Sandbox Code Playgroud)
输出:在所有情况下,放置文件后,我都可以console.log('START UPLOAD!')立即在控制台中看到输出,但在动画实际出现之前会出现延迟。
动画功能简单来说:
start() {
document.getElementById('loading').classList.remove('hidden');
Run Code Online (Sandbox Code Playgroud)
}
我试着自己去寻找。但是堆叠为什么第一行console.log立即执行而第二行this.spinnerService.start();延迟执行?在操作 DOM 元素之前是否等待files读取数据或执行其他操作?
有什么想法可以避免这种延迟吗?
我想对客人和客户注册表使用相同的模板,但验证可能会有所不同,如下所示
让我们假设这是一个客人登记表 - 名字是必需的
<form #f="ngForm" novalidate (ngSubmit)="save()">
<label>First Name:</label>
<input type="text" name="firstName" [(ngModel)]="values.FirstName" required #firstName="ngModel">
<div *ngIf="firstName.hasError('required') && (!firstName.pristine && !f.submitted)" class="text-danger">You must include a first name.</div>
</form>
Run Code Online (Sandbox Code Playgroud)
这是给客户的——名字是可选的
<form #f="ngForm" novalidate (ngSubmit)="save()">
<label>First Name:</label>
<input type="text" name="firstName" [(ngModel)]="values.FirstName" #firstName="ngModel">
</form>
Run Code Online (Sandbox Code Playgroud)
我想对两种表单使用相同/唯一的模板,但验证各不相同!我怎么能做到呢。蒂亚!
注意:通过使用响应式表单我可以实现它,但我知道我想在模板驱动的表单中实现。
试图找出为什么handleError无法启动。
我们的 get api 调用结构
get(relativeUrl: string, _httpOptions?: any) {
var response = this.http.get(baseUrl + relativeUrl, _httpOptions)
.pipe(
catchError(this.HandleRequiredErrorResponse)
).toPromise();
var responsedata = new ResponseData;
responsedata.statusCode = '200';
responsedata.response = response;
return responsedata;
}
Run Code Online (Sandbox Code Playgroud)
如果我们通过调用handleError函数记录它而不是我们需要的错误,则此函数会处理我们的自定义错误
HandleRequiredErrorResponse(errorReponse: HttpErrorResponse) {
var response = new ResponseData;
if (errorReponse.status == 400) {
response.statusCode = errorReponse.status.toString();
response.response = errorReponse.error;
}
else if (errorReponse.status == 404) {
response.statusCode = errorReponse.status.toString();
response.response = errorReponse.error;
}
else {
console.log(errorReponse)
let err = this.handleError(errorReponse);//handleError is …Run Code Online (Sandbox Code Playgroud) 我在 chart.js 中创建了一个折线图,用于绘制来自金融市场的数据。
如何从 x 轴控制网格线的宽度?
我想将间距控制为我可以从一开始就设置的统一数量。
非常感谢任何帮助。
用户提交当前值时,我会尽快提供价值。在这种情况下,提交当前值后,我将重置表单并向用户提供新值。它在提供新值后完成了async调用form.reset执行,因此最终我的用户获得了null / empty值。
是否有其他替代方法可以实现这一目标,或者有任何实现的机会 sync
码:
.ts
@ViewChild('f') form
ngOnInit() {
this.initialCall();
}
initialCall() {
this.name = 'Angular 5';
}
onSubmit(){
this.form.reset(); //reset form
this.initialCall(); //serve next value
}
Run Code Online (Sandbox Code Playgroud)
.html
<form #f="ngForm" (ngSubmit)="onSubmit(f.value)">
<label>Name</label>
<input type="text" [(ngModel)]="name" name="initail">
<button type="submit">Done</button>
</form>
Run Code Online (Sandbox Code Playgroud)
我期望的是单击Done按钮后,我需要在文本字段中显示“ Angular 5”,但它显示为空。
有人能解释为什么没有在这里进行变更检测吗?
最初,我将以下代码静态保存在 Index.html 中并且它可以工作。
<script src="/le.min.js"></script>
<script>
LE.init({
token: 'token',
region: 'x'
});
</script>
Run Code Online (Sandbox Code Playgroud)
由于我的要求,我决定动态加载我编写的示例代码。
//loads librabry
jsScript = document.createElement('script');
jsScript.src = `/le.min.js`;
document.head[0].appendChild(jsScript);
//loads initialise function in the script
script = document.createElement('script');
script.innerHtml= `LE.init({
token: '${TOKEN}',
region: 'US'
});`
document.head[0].appendChild(script);
Run Code Online (Sandbox Code Playgroud)
两者都正确附加,但它抛出错误LE is not defined。如果我附加初始化函数脚本,因为type=text没有错误,但不会发生初始化。我怎样才能做到这一点?
angular ×6
javascript ×3
angularjs ×2
asp.net ×2
typescript ×2
asp.net-mvc ×1
c# ×1
chart.js ×1
forms ×1
html ×1
log4net ×1
observable ×1
rxjs ×1
validation ×1