Skip to content

Latest commit

 

History

History
136 lines (132 loc) · 4.43 KB

File metadata and controls

136 lines (132 loc) · 4.43 KB

dotnet core

github xitonguanli

vuejs

demo

test

SPA

centos7

dotnet core sdk

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
sudo yum update
sudo yum install dotnet-sdk-2.2

nginx

sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
#save as file: /etc/nginx/conf.d/domain.conf
server {
        client_max_body_size 40M;
        listen 443 ssl;
        server_name www.domain.com domain.com;	#change to your domain name
        ssl          on;
        ssl_certificate /etc/ssl/cacert.pem;	#this needs to be the path to your certificate information
        ssl_certificate_key /etc/ssl/privkey.pem;	#this needs to be the path to your certificate information

        location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass https://10.0.0.2:443;	#change to your internal server IP
                proxy_redirect off;
        }
}
server {
        client_max_body_size 40M;
        listen 80;
        server_name www.domain.com domain.com;	#change to your domain name

        location / {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://10.0.0.2:80;	#change to your internal server IP
                proxy_redirect off;
        }
}

ssl

firewall

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

// open 80 port
firewall-cmd --zone=public --add-port=80/tcp --permanent
systemctl restart firewalld

selinux

// You can see what is current allowed like this
semanage port -l | egrep '(^http_port_t)'
// modify port
semanage port -m -t http_port_t -p tcp 4567
// add port
semanage port -a -t http_port_t -p tcp 8040
// 403 error
semanage fcontext -a -t httpd_sys_content_t "/wwwroot(/.*)?"
restorecon -Rv /wwwroot

supervisor

visual studio

vsvim

Edit.RemoveAndSort -> Ctrl+Alt+O

异步代码

async

为方法主体的各部分生成回调

自动创建返回的 Task 对象

Task

隐式返回类型 Task 表示正在进行的工作

await

关键字让编译器将该方法拆分为两个部分。 第一部分是以异步方式结束已启动的操作。 第二部分是当操作完成时注入调用回调方法的地方。

依赖注入

Razor

@page Razor 指令将文件转换为一个 MVC 操作,这意味着它可以处理请求。 @page 必须是页面上的第一个 Razor 指令。

@page “{id:int}” route template

@**@ comment

ViewData dic property of PageModel

asp-page=”/Index”

_ViewStart.cshtml 针对所有 Razor 文件设置布局文件

IActionResult

Page() -> PageResult object

RedirectToPage()

asp-validation-for

config

BindProperty

bind form data

SupportsGet = true -> GET method param

validate

datatype annotation

Range Required StringLength

无论是控制器还是 Create 视图模板都不知道强制实施的实际验证规则或显示的特定错误消息。

仅可在 Movie 类中指定验证规则和错误字符串。

这些相同的验证规则自动应用于 Edit 视图和可能创建用于编辑模型的任何其他视图模板。

MVC

/[Controller]/[ActionName]/[Parameters]

HtmlEncoder.Default.Encode 防止恶意输入(即 JavaScript)损害应用

cshtml运行时解析 cs文件编译成dll

Layout

Layout = null; 不使用母版页

PageModel

handle request 原始

MySql

@model

@model MvcMovie.Models.Movie

@model IEnumerable<MvcMovie.Models.Movie>

SignalR(websocket)

page

Startup

ConfigureServices

register IOC services

Configure

build http pipeline

Run - short-circuit