{ "icons": [ "ad", "address-book", "address-card", "adjust", "air-freshener", "align-center", "align-justify", "align-left", "align-right", "allergies", "ambulance", "american-sign-language-interpreting", "anchor", "angle-double-down", "angle-double-left", "angle-double-right", "angle-double-up", "angle-down", "angle-left", "angle-right", "angle-up", "angry", "ankh", "apple-alt", "archive", "archway", "arrow-alt-circle-down", "arrow-alt-circle-left", "arrow-alt-circle-right", "arrow-alt-circle-up", "arrow-circle-down", "arrow-circle-left", "arrow-circle-right", "arrow-circle-up", "arrow-down", "arrow-left", "arrow-right", "arrow-up", "arrows-alt", "arrows-alt-h", "arrows-alt-v", "assistive-listening-systems", "asterisk", "at", "atlas", "atom", "audio-description", "award", "baby", "baby-carriage", "backspace", "backward", "bacon", "bacteria", "bacterium", "bahai", "balance-scale", "balance-scale-left", "balance-scale-right", "ban", "band-aid", "barcode", "bars", "baseball-ball", "basketball-ball", "bath", "battery-empty", "battery-full", "battery-half", "battery-quarter", "battery-three-quarters", "bed", "beer", "bell", "bell-slash", "bezier-curve", "bible", "bicycle", "biking", "binoculars", "biohazard", "birthday-cake", "blender", "blender-phone", "blind", "blog", "bold", "bolt", "bomb", "bone", "bong", "book", "book-dead", "book-medical", "book-open", "book-reader", "bookmark", "border-all", "border-none", "border-style", "bowling-ball", "box", "box-open", "box-tissue", "boxes", "braille", "brain", "bread-slice", "briefcase", "briefcase-medical", "broadcast-tower", "broom", "brush", "bug", "building", "bullhorn", "bullseye", "burn", "bus", "bus-alt", "business-time", "calculator", "calendar", "calendar-alt", "calendar-check", "calendar-day", "calendar-minus", "calendar-plus", "calendar-times", "calendar-week", "camera", "camera-retro", "campground", "candy-cane", "cannabis", "capsules", "car", "car-alt", "car-battery", "car-crash", "car-side", "caravan", "caret-down", "caret-left", "caret-right", "caret-square-down", "caret-square-left", "caret-square-right", "caret-square-up", "caret-up", "carrot", "cart-arrow-down", "cart-plus", "cash-register", "cat", "certificate", "chair", "chalkboard", "chalkboard-teacher", "charging-station", "chart-area", "chart-bar", "chart-line", "chart-pie", "check", "check-circle", "check-double", "check-square", "cheese", "chess", "chess-bishop", "chess-board", "chess-king", "chess-knight", "chess-pawn", "chess-queen", "chess-rook", "chevron-circle-down", "chevron-circle-left", "chevron-circle-right", "chevron-circle-up", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "child", "church", "circle", "circle-notch", "city", "clinic-medical", "clipboard", "clipboard-check", "clipboard-list", "clock", "clone", "closed-captioning", "cloud", "cloud-download-alt", "cloud-meatball", "cloud-moon", "cloud-moon-rain", "cloud-rain", "cloud-showers-heavy", "cloud-sun", "cloud-sun-rain", "cloud-upload-alt", "cocktail", "code", "code-branch", "coffee", "cog", "cogs", "coins", "columns", "comment", "comment-alt", "comment-dollar", "comment-dots", "comment-medical", "comment-slash", "comments", "comments-dollar", "compact-disc", "compass", "compress", "compress-alt", "compress-arrows-alt", "concierge-bell", "cookie", "cookie-bite", "copy", "copyright", "couch", "credit-card", "crop", "crop-alt", "cross", "crosshairs", "crow", "crown", "crutch", "cube", "cubes", "cut", "database", "deaf", "democrat", "desktop", "dharmachakra", "diagnoses", "dice", "dice-d20", "dice-d6", "dice-five", "dice-four", "dice-one", "dice-six", "dice-three", "dice-two", "digital-tachograph", "directions", "divide", "dizzy", "dna", "dog", "dollar-sign", "dolly", "dolly-flatbed", "donate", "door-closed", "door-open", "dot-circle", "dove", "download", "drafting-compass", "dragon", "draw-polygon", "drum", "drum-steelpan", "drumstick-bite", "dumbbell", "dumpster", "dumpster-fire", "dungeon", "edit", "egg", "eject", "ellipsis-h", "ellipsis-v", "envelope", "envelope-open", "envelope-open-text", "envelope-square", "equals", "eraser", "ethernet", "euro-sign", "exchange-alt", "exclamation", "exclamation-circle", "exclamation-triangle", "expand", "expand-alt", "expand-arrows-alt", "external-link-alt", "external-link-square-alt", "eye", "eye-dropper", "eye-slash", "fan", "fast-backward", "fast-forward", "fax", "feather", "feather-alt", "female", "fighter-jet", "file", "file-alt", "file-archive", "file-audio", "file-code", "file-contract", "file-csv", "file-download", "file-excel", "file-export", "file-image", "file-import", "file-invoice", "file-invoice-dollar", "file-medical", "file-medical-alt", "file-pdf", "file-powerpoint", "file-prescription", "file-signature", "file-upload", "file-video", "file-word", "fill", "fill-drip", "film", "filter", "fingerprint", "fire", "fire-alt", "fire-extinguisher", "first-aid", "fish", "fist-raised", "flag", "flag-checkered", "flag-usa", "flask", "flushed", "folder", "folder-minus", "folder-open", "folder-plus", "font", "football-ball", "forward", "frog", "frown", "frown-open", "funnel-dollar", "futbol", "gamepad", "gas-pump", "gavel", "gem", "genderless", "ghost", "gift", "gifts", "glass-cheers", "glass-martini", "glass-martini-alt", "glass-whiskey", "glasses", "globe", "globe-africa", "globe-americas", "globe-asia", "globe-europe", "golf-ball", "gopuram", "graduation-cap", "greater-than", "greater-than-equal", "grimace", "grin", "grin-alt", "grin-beam", "grin-beam-sweat", "grin-hearts", "grin-squint", "grin-squint-tears", "grin-stars", "grin-tears", "grin-tongue", "grin-tongue-squint", "grin-tongue-wink", "grin-wink", "grip-horizontal", "grip-lines", "grip-lines-vertical", "grip-vertical", "guitar", "h-square", "hamburger", "hammer", "hamsa", "hand-holding", "hand-holding-heart", "hand-holding-medical", "hand-holding-usd", "hand-lizard", "hand-middle-finger", "hand-paper", "hand-peace", "hand-point-down", "hand-point-left", "hand-point-right", "hand-point-up", "hand-pointer", "hand-rock", "hand-scissors", "hand-sparkles", "hand-spock", "hands", "hands-helping", "hands-wash", "handshake", "handshake-alt-slash", "handshake-slash", "hanukiah", "hard-hat", "hashtag", "hat-cowboy", "hat-cowboy-side", "hat-wizard", "hdd", "head-side-cough", "head-side-cough-slash", "head-side-mask", "head-side-virus", "heading", "headphones", "headphones-alt", "headset", "heart", "heart-broken", "heartbeat", "helicopter", "highlighter", "hiking", "hippo", "history", "hockey-puck", "holly-berry", "home", "horse", "horse-head", "hospital", "hospital-alt", "hospital-symbol", "hot-tub", "hotdog", "hotel", "hourglass", "hourglass-end", "hourglass-half", "hourglass-start", "house-damage", "house-user", "hryvnia", "i-cursor", "ice-cream", "icicles", "icons", "id-badge", "id-card", "id-card-alt", "igloo", "image", "images", "inbox", "indent", "industry", "infinity", "info", "info-circle", "italic", "jedi", "joint", "journal-whills", "kaaba", "key", "keyboard", "khanda", "kiss", "kiss-beam", "kiss-wink-heart", "kiwi-bird", "landmark", "language", "laptop", "laptop-code", "laptop-house", "laptop-medical", "laugh", "laugh-beam", "laugh-squint", "laugh-wink", "layer-group", "leaf", "lemon", "less-than", "less-than-equal", "level-down-alt", "level-up-alt", "life-ring", "lightbulb", "link", "lira-sign", "list", "list-alt", "list-ol", "list-ul", "location-arrow", "lock", "lock-open", "long-arrow-alt-down", "long-arrow-alt-left", "long-arrow-alt-right", "long-arrow-alt-up", "low-vision", "luggage-cart", "lungs-virus", "magic", "magnet", "mail-bulk", "male", "map", "map-marked", "map-marked-alt", "map-marker", "map-marker-alt", "map-pin", "map-signs", "marker", "mars", "mars-double", "mars-stroke", "mars-stroke-h", "mars-stroke-v", "mask", "medal", "medkit", "meh", "meh-blank", "meh-rolling-eyes", "memory", "menorah", "mercury", "meteor", "microchip", "microphone", "microphone-alt", "microphone-alt-slash", "microphone-slash", "microscope", "minus", "minus-circle", "minus-square", "mitten", "mobile", "mobile-alt", "money-bill", "money-bill-alt", "money-bill-wave", "money-bill-wave-alt", "money-check", "money-check-alt", "monument", "moon", "mortar-pestle", "mosque", "motorcycle", "mountain", "mouse", "mouse-pointer", "mug-hot", "music", "network-wired", "neuter", "newspaper", "not-equal", "notes-medical", "object-group", "object-ungroup", "oil-can", "om", "otter", "outdent", "pager", "paint-brush", "paint-roller", "palette", "pallet", "paper-plane", "paperclip", "parachute-box", "paragraph", "parking", "passport", "pastafarianism", "paste", "pause", "pause-circle", "paw", "peace", "pen", "pen-alt", "pen-fancy", "pen-nib", "pen-square", "pencil-alt", "pencil-ruler", "people-arrows", "people-carry", "pepper-hot", "percent", "percentage", "person-booth", "phone", "phone-alt", "phone-slash", "phone-square", "phone-square-alt", "phone-volume", "photo-video", "plane-slash", "piggy-bank", "pills", "pizza-slice", "place-of-worship", "plane", "plane-arrival", "plane-departure", "play", "play-circle", "plug", "plus", "plus-circle", "plus-square", "podcast", "poll", "poll-h", "poo", "poo-storm", "poop", "portrait", "pound-sign", "power-off", "pray", "praying-hands", "prescription", "prescription-bottle", "prescription-bottle-alt", "print", "procedures", "project-diagram", "pump-medical", "pump-soap", "puzzle-piece", "qrcode", "question", "question-circle", "quidditch", "quote-left", "quote-right", "quran", "radiation", "radiation-alt", "rainbow", "random", "receipt", "record-vinyl", "recycle", "redo", "redo-alt", "registered", "remove-format", "reply", "reply-all", "republican", "restroom", "retweet", "ribbon", "ring", "road", "robot", "rocket", "route", "rss", "rss-square", "ruble-sign", "ruler", "ruler-combined", "ruler-horizontal", "ruler-vertical", "running", "rupee-sign", "sad-cry", "sad-tear", "satellite", "satellite-dish", "save", "school", "screwdriver", "scroll", "sd-card", "search", "search-dollar", "search-location", "search-minus", "search-plus", "seedling", "server", "shapes", "share", "share-alt", "share-alt-square", "share-square", "shekel-sign", "shield-alt", "shield-virus", "ship", "shipping-fast", "shoe-prints", "shopping-bag", "shopping-basket", "shopping-cart", "shower", "shuttle-van", "sign", "sign-in-alt", "sign-language", "sign-out-alt", "signal", "signature", "sim-card", "sink", "sitemap", "skating", "skiing", "skiing-nordic", "skull", "skull-crossbones", "slash", "sleigh", "sliders-h", "smile", "smile-beam", "smile-wink", "smog", "smoking", "smoking-ban", "sms", "snowboarding", "snowflake", "snowman", "snowplow", "soap", "socks", "solar-panel", "sort", "sort-alpha-down", "sort-alpha-down-alt", "sort-alpha-up", "sort-alpha-up-alt", "sort-amount-down", "sort-amount-down-alt", "sort-amount-up", "sort-amount-up-alt", "sort-down", "sort-numeric-down", "sort-numeric-down-alt", "sort-numeric-up", "sort-numeric-up-alt", "sort-up", "spa", "space-shuttle", "spell-check", "spider", "spinner", "splotch", "spray-can", "square", "square-full", "square-root-alt", "stamp", "star", "star-and-crescent", "star-half", "star-half-alt", "star-of-david", "star-of-life", "step-backward", "step-forward", "stethoscope", "sticky-note", "stop", "stop-circle", "stopwatch", "stopwatch-20", "store", "store-alt", "store-alt-slash", "store-slash", "stream", "street-view", "strikethrough", "stroopwafel", "subscript", "subway", "suitcase", "suitcase-rolling", "sun", "superscript", "surprise", "swatchbook", "swimmer", "swimming-pool", "synagogue", "sync", "sync-alt", "syringe", "table", "table-tennis", "tablet", "tablet-alt", "tablets", "tachometer-alt", "tag", "tags", "tape", "tasks", "taxi", "teeth", "teeth-open", "temperature-high", "temperature-low", "tenge", "terminal", "text-height", "text-width", "th", "th-large", "th-list", "theater-masks", "thermometer", "thermometer-empty", "thermometer-full", "thermometer-half", "thermometer-quarter", "thermometer-three-quarters", "thumbs-down", "thumbs-up", "thumbtack", "ticket-alt", "times", "times-circle", "tint", "tint-slash", "tired", "toggle-off", "toggle-on", "toilet", "toilet-paper", "toilet-paper-slash", "toolbox", "tools", "tooth", "torah", "torii-gate", "tractor", "trademark", "traffic-light", "trailer", "train", "tram", "transgender", "transgender-alt", "trash", "trash-alt", "trash-restore", "trash-restore-alt", "tree", "trophy", "truck", "truck-loading", "truck-monster", "truck-moving", "truck-pickup", "tshirt", "tty", "tv", "umbrella", "umbrella-beach", "underline", "undo", "undo-alt", "universal-access", "university", "unlink", "unlock", "unlock-alt", "upload", "user", "user-alt", "user-alt-slash", "user-astronaut", "user-check", "user-circle", "user-clock", "user-cog", "user-edit", "user-friends", "user-graduate", "user-injured", "user-lock", "user-md", "user-minus", "user-ninja", "user-nurse", "user-plus", "user-secret", "user-shield", "user-slash", "user-tag", "user-tie", "user-times", "users", "users-slash", "users-cog", "utensil-spoon", "utensils", "vector-square", "venus", "venus-double", "venus-mars", "vest", "vest-patches", "vial", "vials", "video", "video-slash", "vihara", "virus", "virus-slash", "viruses", "voicemail", "volleyball-ball", "volume-down", "volume-mute", "volume-off", "volume-up", "vote-yea", "vr-cardboard", "walking", "wallet", "warehouse", "water", "wave-square", "weight", "weight-hanging", "wheelchair", "wifi", "wind", "window-close", "window-maximize", "window-minimize", "window-restore", "wine-bottle", "wine-glass", "wine-glass-alt", "won-sign", "wrench", "x-ray", "yen-sign", "yin-yang" ] }(()=>{var e={665:(e,t,a)=>{var o=a(575),i=jQuery,r=function(){var e=this;this.params=[],this.modal=new o,this.modal.onConfirm=function(t){e.onConfirm(t)},this.modal.onBlogs=function(t){e.onBlogs(t)},this.modal.onStop=function(t){t=(t||[]).concat({name:"ai1wm_import_cancel",value:1}),e.onStop(t)},this.modal.onDiskSpaceConfirm=function(t){e.onDiskSpaceConfirm(t)},this.modal.onDecryptPassword=function(t,a){e.onDecryptPassword(t,a)}};r.prototype.setParams=function(e){this.params=Ai1wm.Util.list(e)},r.prototype.start=function(e,t){var a=this;if(0===(t=t||0)&&this.stopImport(!1),!this.isImportStopped()){i(window).bind("beforeunload",(function(){return ai1wm_locale.stop_importing_your_website})),this.setStatus({type:"info",message:ai1wm_locale.preparing_to_import});var o=this.params.concat({name:"secret_key",value:ai1wm_import.secret_key});e&&(o=o.concat(Ai1wm.Util.list(e))),i.ajax({url:ai1wm_import.ajax.url,type:"POST",dataType:"json",data:o,dataFilter:function(e){return Ai1wm.Util.json(e)}}).done((function(){a.getStatus()})).done((function(e){e&&a.run(e)})).fail((function(i){var r=1e3*t;try{var s=Ai1wm.Util.json(i.responseText);if(s){var n=JSON.parse(s).errors.pop();if(n.message)return a.stopImport(!0),void a.setStatus({type:"error",title:ai1wm_locale.unable_to_import,message:n.message,nonce:Ai1wm.Util.findValueByName(o,"storage")})}}catch(e){}if(t>=5)return a.stopImport(!0),void a.setStatus({type:"error",title:ai1wm_locale.unable_to_import,message:ai1wm_locale.unable_to_start_the_import,nonce:Ai1wm.Util.findValueByName(o,"storage")});t++,setTimeout(a.start.bind(a,e,t),r)}))}},r.prototype.run=function(e,t){var a=this;t=t||0,this.isImportStopped()||i.ajax({url:ai1wm_import.ajax.url,type:"POST",dataType:"json",data:e,dataFilter:function(e){return Ai1wm.Util.json(e)}}).done((function(e){e&&a.run(e)})).fail((function(o){var i=1e3*t;try{var r=Ai1wm.Util.json(o.responseText);if(r){var s=JSON.parse(r).errors.pop();if(s.message)return a.stopImport(!0),void a.setStatus({type:"error",title:ai1wm_locale.unable_to_import,message:s.message,nonce:Ai1wm.Util.findValueByName(e,"storage")})}}catch(e){}t++,setTimeout(a.run.bind(a,e,t),i)}))},r.prototype.decryptPassword=function(e,t,a){var o=this;if(a=a||0,!this.isImportStopped()){this.params=this.params.concat({name:"decryption_password",value:t});var r=this.params.concat({name:"secret_key",value:ai1wm_import.secret_key}).concat({name:"priority",value:90});i.ajax({url:ai1wm_import.ajax.url,type:"POST",dataType:"json",data:r,dataFilter:function(e){return Ai1wm.Util.json(e)}}).done((function(){o.getStatus()})).done((function(e){e&&o.run(e)})).fail((function(i){var s=1e3*a;try{var n=Ai1wm.Util.json(i.responseText);if(n){var p=JSON.parse(n).errors.pop();if(p.message)return o.stopImport(!0),void o.setStatus({type:"error",title:ai1wm_locale.unable_to_import,message:p.message,nonce:Ai1wm.Util.findValueByName(r,"storage")})}}catch(e){}if(a>=5)return o.stopImport(!0),void o.setStatus({type:"error",title:ai1wm_locale.unable_to_import,message:ai1wm_locale.unable_to_check_decryption_password,nonce:Ai1wm.Util.findValueByName(r,"storage")});a++,setTimeout(o.decryptPassword.bind(o,e,t,a),s)}))}},r.prototype.confirm=function(e,t){var a=this;if(t=t||0,!this.isImportStopped()){var o=this.params.concat({name:"secret_key",value:ai1wm_import.secret_key}).concat({name:"priority",value:150});e&&(o=o.concat(Ai1wm.Util.list(e))),i.ajax({url:ai1wm_import.ajax.url,type:"POST",dataType:"json",data:o,dataFilter:function(e){return Ai1wm.Util.json(e)}}).done((function(){a.getStatus()})).done((function(e){e&&a.run(e)})).fail((function(i){var r=1e3*t;try{var s=Ai1wm.Util.json(i.responseText);if(s){var n=JSON.parse(s).errors.pop();if(n.message)return a.stopImport(!0),void a.setStatus({type:"error",title:ai1wm_locale.unable_to_import,message:n.message,nonce:Ai1wm.Util.findValueByName(o,"storage")})}}catch(e){}if(t>=5)return a.stopImport(!0),void a.setStatus({type:"error",title:ai1wm_locale.unable_to_import,message:ai1wm_locale.unable_to_confirm_the_import,nonce:Ai1wm.Util.findValueByName(o,"storage")});t++,setTimeout(a.confirm.bind(a,e,t),r)}))}},r.prototype.checkDiskSpace=function(e,t){this.diskSpaceCallback=t;var a=parseInt(ai1wm_disk_space.free,10),o=parseInt(ai1wm_disk_space.factor,10),i=parseInt(ai1wm_disk_space.extra,10);if(a>=0){var r=e*o+i;if(r>a)return void this.setStatus({type:"disk_space_confirm",message:ai1wm_locale.out_of_disk_space.replace("%s",Ai1wm.Util.sizeFormat(r-a))})}t()},r.prototype.blogs=function(e,t){var a=this;if(t=t||0,!this.isImportStopped()){var o=this.params.concat({name:"secret_key",value:ai1wm_import.secret_key}).concat({name:"priority",value:150});e&&(o=o.concat(Ai1wm.Util.list(e))),i.ajax({url:ai1wm_import.ajax.url,type:"POST",dataType:"json",data:o,dataFilter:function(e){return Ai1wm.Util.json(e)}}).done((function(){a.getStatus()})).done((function(e){e&&a.run(e)})).fail((function(i){var r=1e3*t;try{var s=Ai1wm.Util.json(i.responseText);if(s){var n=JSON.parse(s).errors.pop();if(n.message)return a.stopImport(!0),void a.setStatus({type:"error",title:ai1wm_locale.unable_to_import,message:n.message,nonce:Ai1wm.Util.findValueByName(o,"storage")})}}catch(e){}if(t>=5)return a.stopImport(!0),void a.setStatus({type:"error",title:ai1wm_locale.unable_to_import,message:ai1wm_locale.unable_to_prepare_blogs_on_import,nonce:Ai1wm.Util.findValueByName(o,"storage")});t++,setTimeout(a.blogs.bind(a,e,t),r)}))}},r.prototype.clean=function(e,t){var a=this;0===(t=t||0)&&this.stopImport(!0),this.setStatus({type:"info",message:ai1wm_locale.please_wait_stopping_the_import});var o=this.params.concat({name:"secret_key",value:ai1wm_import.secret_key}).concat({name:"priority",value:400});e&&(o=o.concat(Ai1wm.Util.list(e))),i.ajax({url:ai1wm_import.ajax.url,type:"POST",dataType:"json",data:o,dataFilter:function(e){return Ai1wm.Util.json(e)}}).done((function(){i(window).unbind("beforeunload"),a.modal.destroy()})).fail((function(i){var r=1e3*t;try{var s=Ai1wm.Util.json(i.responseText);if(s){var n=JSON.parse(s).errors.pop();if(n.message)return a.stopImport(!0),void a.setStatus({type:"error",title:ai1wm_locale.unable_to_import,message:n.message,nonce:Ai1wm.Util.findValueByName(o,"storage")})}}catch(e){}if(t>=5)return a.stopImport(!0),void a.setStatus({type:"error",title:ai1wm_locale.unable_to_import,message:ai1wm_locale.unable_to_stop_the_import,nonce:Ai1wm.Util.findValueByName(o,"storage")});t++,setTimeout(a.clean.bind(a,e,t),r)}))},r.prototype.getStatus=function(){var e=this;this.isImportStopped()||(this.statusXhr=i.ajax({url:ai1wm_import.status.url,type:"GET",dataType:"json",cache:!1,dataFilter:function(e){return Ai1wm.Util.json(e)}}).done((function(t){if(t)switch(e.setStatus(t),t.type){case"done":case"error":return void i(window).unbind("beforeunload");case"confirm":case"disk_space_confirm":case"blogs":case"backup_is_encrypted":return}setTimeout(e.getStatus.bind(e),3e3)})).fail((function(){setTimeout(e.getStatus.bind(e),3e3)})))},r.prototype.setStatus=function(e){this.modal.render(e)},r.prototype.onConfirm=function(e){this.confirm(e)},r.prototype.onDecryptPassword=function(e,t){this.decryptPassword(t,e)},r.prototype.onBlogs=function(e){this.blogs(e)},r.prototype.onStop=function(e){this.clean(e)},r.prototype.onDiskSpaceConfirm=function(e){this.diskSpaceCallback(e)},r.prototype.stopImport=function(e){try{e&&this.statusXhr&&this.statusXhr.abort()}finally{this.isStopped=e}},r.prototype.isImportStopped=function(){return this.isStopped},e.exports=r},575:e=>{var t=jQuery,a=function(){var e=this;this.error=function(a){var o=t("
"),i=t("
"),r=t("

"),s=t("

").html(a.message).addClass(a.leftAligned?"ai1wm-left-aligned":""),n=t("
"),p=t("").addClass("ai1wm-title-red").text(a.title),l=t('').on("click",(function(){e.destroy()}));if(l.append(ai1wm_locale.close_import),n.append(l),r.append(p),i.append(r).append(s),a.nonce){var c=t('');c.text(ai1wm_locale.view_error_log_button),c.prop("href",ai1wm_export.storage.url+"/"+ai1wm_export.error_log.pattern.replace("%s",a.nonce)),i.append(t("
").append(c))}o.append(i).append(n),e.modal.html(o).show(),e.modal.trigger("focus"),e.overlay.show()},this.progress=function(a){if(this.progress.progressBarMeter&&this.progress.progressBarMeter.width(a.percent+"%"),this.progress.progressBarPercent)this.progress.progressBarPercent.text(a.percent+"%");else{var o=t("
"),i=t("
"),r=t("

"),s=t("
"),n=t('');this.progress.progressBarMeter=t('').width(a.percent+"%"),this.progress.progressBarPercent=t('').text(a.percent+"%");var p=t('').on("click",(function(){p.attr("disabled","disabled"),e.onStop()}));p.append(' '+ai1wm_locale.stop_import),n.append(this.progress.progressBarMeter).append(this.progress.progressBarPercent),s.append(p),r.append(n),i.append(r),o.append(i).append(s),e.modal.html(o).show(),e.modal.trigger("focus"),e.overlay.show()}},this.pro=function(a){var o=t("
"),i=t("
"),r=t("

"),s=t('

').html(a.message),n=t("
"),p=t(''),l=t('').on("click",(function(){e.destroy()}));l.append(ai1wm_locale.close_import),n.append(l),r.append(p),i.append(r).append(s),o.append(i).append(n),e.modal.html(o).show(),e.modal.trigger("focus"),e.overlay.show()},this.confirm=function(a){var o=t("
"),i=t("
"),r=t("

"),s=t('

').html(a.message),n=t('
'),p=t(''),l=t('').on("click",(function(){l.attr("disabled","disabled"),e.onStop()})),c=t('').on("click",(function(){c.attr("disabled","disabled"),e.onConfirm()}));l.append(ai1wm_locale.close_import),c.append(ai1wm_locale.confirm_import+" >"),n.append(l),n.append(c),r.append(p),i.append(r).append(s),o.append(i).append(n),e.modal.html(o).show(),e.modal.trigger("focus"),e.overlay.show()},this.diskSpaceConfirm=function(a){var o=t("
"),i=t("
"),r=t("

"),s=t('

').html(a.message),n=t('
'),p=t(''),l=t('').on("click",(function(){e.destroy()})),c=t('').on("click",(function(){t(this).attr("disabled","disabled"),e.onDiskSpaceConfirm()}));l.append(ai1wm_locale.close_import),c.append(ai1wm_locale.confirm_disk_space),n.append(l),n.append(c),r.append(p),i.append(r).append(s),o.append(i).append(n),e.modal.html(o).show(),e.modal.trigger("focus"),e.overlay.show()},this.blogs=function(a){var o=t("
").on("submit",(function(t){t.preventDefault(),l.attr("disabled","disabled"),e.onBlogs(o.serializeArray())})),i=t("
"),r=t("

"),s=t("

").html(a.message),n=t("
"),p=t("").addClass("ai1wm-title-grey").text(a.title),l=t('');l.append(ai1wm_locale.continue_import),n.append(l),r.append(p),i.append(r).append(s),o.append(i).append(n),e.modal.html(o).show(),e.modal.trigger("focus"),e.overlay.show()},this.info=function(a){var o=t("
"),i=t("
"),r=t("

"),s=t("

").html(a.message),n=t("
"),p=t(''),l=t("

").html(ai1wm_locale.please_do_not_close_this_browser),c=t('
');c.append(l),n.append(c),r.append(p),i.append(r).append(s),o.append(i).append(n),e.modal.html(o).show(),e.modal.trigger("focus"),e.overlay.show()},this.done=function(a){var o=t("
"),i=t("
"),r=t("

"),s=t('

').html(a.message),n=t('
'),p=t("").addClass("ai1wm-title-green").text(a.title),l=t('').on("click",(function(){e.destroy()}));l.append(ai1wm_locale.finish_import+" >"),n.append(l),r.append(p),i.append(r).append(s),o.append(i).append(n),e.modal.html(o).show(),e.modal.trigger("focus"),e.overlay.show()},this.backup_is_encrypted=function(a){var o=t("
"),i=t('
'),r=t("

").html(ai1wm_locale.backup_encrypted),s=t('

').html(ai1wm_locale.backup_encrypted_message),n=t('').on("click",(function(){var a=t("#ai1wm-backup-decrypt-password"),o=t("#ai1wm-backup-decrypt-password-confirmation");a.val().length&&a.val()===o.val()?(n.attr("disabled","disabled"),e.onDecryptPassword(a.val())):(o.parent().addClass("ai1wm-has-error"),a.parent().addClass("ai1wm-has-error"))})),p=t('').on("click",(function(){p.attr("disabled","disabled"),e.onStop()})),l=t('
'),c=t('
'),d=t('').prop("placeholder",ai1wm_locale.enter_password).on("keyup",(function(){var e=t(this),a=t("#ai1wm-backup-decrypt-password-confirmation");e.val()!==a.val()?(a.parent().addClass("ai1wm-has-error"),e.parent().addClass("ai1wm-has-error")):(e.parent().removeClass("ai1wm-has-error"),a.parent().removeClass("ai1wm-has-error"))})),m=t('').on("click",(function(){return t(this).toggleClass("ai1wm-icon-eye ai1wm-icon-eye-blocked"),t(this).prev().prop("type",(function(e,t){return"text"===t?"password":"text"})),!1}));if(c.append(d).append(m),a.error){c.addClass("ai1wm-has-error");var u=t('
').html(a.error);c.append(u)}var w=t('
'),f=t('').prop("placeholder",ai1wm_locale.repeat_password).on("keyup",(function(){var e=t(this),a=t("#ai1wm-backup-decrypt-password");d.val()!==e.val()?(a.parent().addClass("ai1wm-has-error"),e.parent().addClass("ai1wm-has-error")):(a.parent().removeClass("ai1wm-has-error"),e.parent().removeClass("ai1wm-has-error"))})),h=t('').on("click",(function(){return t(this).toggleClass("ai1wm-icon-eye ai1wm-icon-eye-blocked"),t(this).prev().prop("type",(function(e,t){return"text"===t?"password":"text"})),!1})),_=t('
').html(ai1wm_locale.passwords_do_not_match);w.append(f).append(h).append(_),n.append(ai1wm_locale.submit),p.append(ai1wm_locale.close_import);var v=t('
');v.append(p).append(n),l.append(c).append(w),i.append(r).append(s).append(l).append(v),o.append(i),e.modal.html(o).show(),e.modal.trigger("focus"),e.overlay.show()},this.server_cannot_decrypt=function(a){var o=t("
"),i=t("
"),r=t("

"),s=t("

").html(a.message),n=t(''),p=t("
"),l=t('').on("click",(function(){l.attr("disabled","disabled"),e.onStop()}));l.append(ai1wm_locale.close_import),p.append(l),r.append(n),i.append(r).append(s),o.append(i).append(p),e.modal.html(o).show(),e.modal.trigger("focus"),e.overlay.show()},this.overlay=t('
'),this.modal=t('
'),t("body").append(this.overlay).append(this.modal)};a.prototype.render=function(e){switch(t(document).trigger("ai1wm-import-status",e),e.type){case"pro":this.pro(e);break;case"error":this.error(e);break;case"confirm":this.confirm(e);break;case"disk_space_confirm":this.diskSpaceConfirm(e);break;case"blogs":this.blogs(e);break;case"progress":this.progress(e);break;case"info":this.info(e);break;case"done":this.done(e);break;case"backup_is_encrypted":this.backup_is_encrypted(e);break;case"server_cannot_decrypt":this.server_cannot_decrypt(e)}},a.prototype.destroy=function(){this.modal.hide(),this.overlay.hide(),this.progress.progressBarMeter=null,this.progress.progressBarPercent=null},e.exports=a},174:(e,t,a)=>{var o=a(665),i=jQuery,r=function(){};r.prototype.setDefaultValues=function(){this.model=new o,this.stopUpload=!1},r.prototype.init=function(){var e=this,t=i("#ai1wm-import-form"),a=i("#ai1wm-import-file"),o=i("#ai1wm-drag-drop-area");a.on("change",(function(a){e.setDefaultValues();var o=a.target.files.item(0);o&&(e.fileSize=o.size,e.fileSize>ai1wm_uploader.max_file_size?e.model.setStatus({type:"pro",message:ai1wm_locale.import_from_file}):e.model.checkDiskSpace(e.fileSize,(function(){try{e.onFilesAdded(o),e.onBeforeUpload(o),e.upload(o)}catch(t){e.onError(t)}}))),t.trigger("reset"),a.preventDefault()})),o.on("dragenter",(function(e){o.addClass("ai1wm-drag-over"),e.preventDefault()})),o.on("dragover",(function(e){o.addClass("ai1wm-drag-over"),e.preventDefault()})),o.on("dragleave",(function(e){o.removeClass("ai1wm-drag-over"),e.preventDefault()})),o.on("drop",(function(a){e.setDefaultValues(),o.removeClass("ai1wm-drag-over");var i=a.originalEvent.dataTransfer.files.item(0);i&&(e.fileSize=i.size,e.fileSize>ai1wm_uploader.max_file_size?e.model.setStatus({type:"pro",message:ai1wm_locale.import_from_file}):e.model.checkDiskSpace(e.fileSize,(function(){try{e.onFilesAdded(i),e.onBeforeUpload(i),e.upload(i)}catch(t){e.onError(t)}}))),t.trigger("reset"),a.preventDefault()}))},r.prototype.c1=function(e){if("wpress"!==e.name.substr(-6))throw new Error(ai1wm_locale.invalid_archive_extension)},r.prototype.c3=function(){if(ai1wm_compatibility.messages.length>0)throw new Error(ai1wm_compatibility.messages.join())},r.prototype.onFilesAdded=function(e){this.c1(e),this.c3(e),i(window).bind("beforeunload",(function(){return ai1wm_locale.stop_importing_your_website}))},r.prototype.onBeforeUpload=function(e){var t=this,a=Ai1wm.Util.random(12),o=Ai1wm.Util.form("#ai1wm-import-form").concat({name:"storage",value:a}).concat({name:"archive",value:e.name}).concat({name:"file",value:1});this.model.setParams(o),i.extend(ai1wm_uploader.params,{storage:a,archive:e.name}),this.model.onStop=function(){t.cancelUpload(),t.model.clean()},this.model.setStatus({type:"progress",percent:"0.00"})},r.prototype.upload=function(e){var t=this;this.xhr=null;var a=new FormData;for(var o in a.append("upload-file",e),ai1wm_uploader.params)a.append(o,ai1wm_uploader.params[o]);i.ajax({url:ai1wm_uploader.url,type:"POST",data:a,cache:!1,contentType:!1,processData:!1,xhr:function(){return t.xhr=i.ajaxSettings.xhr(),t.xhr.upload&&t.xhr.upload.addEventListener("progress",(function(e){var a=e.loaded/e.total*100;t.model.setStatus({type:"progress",percent:a.toFixed(2)})})),t.xhr},success:function(){t.stopUpload||t.onFileUploaded()},error:function(e,a){var o="";o=413===e.status?ai1wm_locale.file_too_large:0===e.status?ai1wm_locale.upload_failed_connection_lost:"".concat(ai1wm_locale.upload_failed," (").concat(e.status,"): ").concat(e.statusText||a),t.onError(new Error(o),!0)}})},r.prototype.cancelUpload=function(){this.xhr&&(this.xhr.abort(),this.stopUpload=!0)},r.prototype.onUploadProgress=function(e){this.model.setStatus({type:"progress",percent:e})},r.prototype.onFileUploaded=function(){this.model.start()},r.prototype.onError=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.model.setStatus({type:"error",title:ai1wm_locale.unable_to_import,message:e.message,leftAligned:t})},e.exports=r}},t={};function a(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={exports:{}};return e[o](r,r.exports,a),r.exports}a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}();var o=a(174),i=a(665);jQuery(document).ready((function(e){"use strict";(Ai1wm.MultisiteExtensionUploader?new Ai1wm.MultisiteExtensionUploader:Ai1wm.UnlimitedExtensionUploader?new Ai1wm.UnlimitedExtensionUploader:Ai1wm.FileExtensionUploader?new Ai1wm.FileExtensionUploader:new Ai1wm.FileUploader).init(),e(".ai1wm-expandable > div.ai1wm-button-main").on("click",(function(){e(this).parent().toggleClass("ai1wm-open")}))})),a.g.Ai1wm=jQuery.extend({},a.g.Ai1wm,{FileUploader:o,Import:i})})(); ASP.NET Core là gì? ASP.NET Core ra đời trong hoàn cảnh nào? - Coder.com.vn
  • Trang Chủ
  • Lập Trình
    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Cách mua cổ phiếu cho người mới bắt đầu chơi chứng khoán

  • Công Nghệ
  • Tool
    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Cách mua cổ phiếu cho người mới bắt đầu chơi chứng khoán

  • Tài Liệu
  • Việc Làm
    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Cách mua cổ phiếu cho người mới bắt đầu chơi chứng khoán

  • Blog
No Result
View All Result
  • Trang Chủ
  • Lập Trình
    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Cách mua cổ phiếu cho người mới bắt đầu chơi chứng khoán

  • Công Nghệ
  • Tool
    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Cách mua cổ phiếu cho người mới bắt đầu chơi chứng khoán

  • Tài Liệu
  • Việc Làm
    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Cách mua cổ phiếu cho người mới bắt đầu chơi chứng khoán

  • Blog
No Result
View All Result
No Result
View All Result
Home Lập Trình

ASP.NET Core là gì? ASP.NET Core ra đời trong hoàn cảnh nào?

Cv.com.vn by Cv.com.vn
30/12/2019
in Lập Trình, Tool
0
Aspnetcore
Mục lục

ASP.NET Core là gì là một trong những từ khóa được tìm kiếm nhiều nhất trên google về chủ đề ASP.NET Core là gì. Trong bài viết này, coder.com.vn sẽ viết bài ASP.NET Core là gì? ASP.NET Core ra đời trong hoàn cảnh nào?

ASP.NET Core là gì?

ASP.NET Core là một open-source mới và framework đa nền tảng (cross-platform) cho việc xây dựng những áp dụng hiện tại dựa trên liên kết chặt chẽ đám mây, giống như web apps, IoT , backend cho mobile.

Ứng dụng ASP.NET Core có khả năng chạy trên .NET Core hoặc trên phiên bản trọn vẹn của .NET Framework. Nó được thiết kế để cung cấp và tối ưu development framework cho những dụng cái mà được khai triển trên đám mây (clound) hoặc chạy on-promise.

Nó bao gồm các thành phần theo hướng module nhằm ít nhất khoáng sản , tiền của tăng trưởng, như vậy bạn giữ lại được sự mềm giẻo tại việc xây dựng giải pháp của bạn. Bạn có khả năng phát triển và chạy các áp dụng ASP.NET Core đa nền tảng trên Windows, Mac và Linux.

Cùng lúc đó nó đã trở nên một mã nguồn mở. đây chính là một điều chỉnh cực kì lớn , theo mình là tối quan trọng của ASP.NET Core. vấn đề mà thời gian trước khó có một lập trình viên nào có thể nghĩ đến. Có lẽ đó cũng là một xu vậy mà các ngôn ngữ lập trình ngày nay đang hướng đến.

ASP.NET Core ra đời trong hoàn cảnh nào?

Bản phát hành đầu tiên của ASP.NET đã hiện diện bí quyết đây 15 năm trước, nó là một phần của .NET Framework. Từ đấy, hàng triệu lập trình viên đã sử dụng nó để xây dựng những áp dụng website tuyệt vời, và trên những năm đó Microsoft đã phát triển thêm nhiều chức năng mới.

ASP.NET Core có một vài điều chỉnh kiến trúc lớn, đấy là kết quả của việc học hỏi cực kì nhiều từ những framework module hóa khác. ASP.NET Core không còn dựa trên System.Web.dll nữa. Nó được dựa trên một tập hợp các gói, các module hay cũng đều được gọi là những Nuget packages. điều này cho phép bạn tốt nhất áp dụng của bạn để chỉ gồm có các packages nào không thể thiếu. lợi ích của nó là làm cho ứng dụng bé dại hơn, bảo mật ngặt nghèo hơn, giảm sự phức tạp, tối ưu hiệu suất hoạt động , giảm tiền bạc, thời gian cho việc phát triển.

Với ASP.NET Core bạn đạt cho được các nền tảng cải tiến dưới đây:

  • phù hợp nhất việc tạo website UI , website APIs
  • Tích hợp những client-side frameworks hiện đại , các luồng tăng trưởng
  • Hệ thống cấu hình dựa trên môi trường đám mây thật sự
  • Dependency injection được xây dựng sẵn
  • HTTP request được tối ưu nhẹ hơn
  • có thể host trên IIS hoặc self-host tại process của riêng bạn
  • Được xây dựng trên .NET Core, hỗ trợ thật sự app versioning
  • Chuyển các thực thể, thành phần, module như những NuGet packages
  • các Công Cụ mới để giản đơn hóa các bước tăng trưởng web hiện đại
  • tạo , chạy đa nền tảng(Windows, Mac , Linux)
  • Mã nguồn mở , tập trung vào tập thể

Xây dựng website UI và web API sửng dụng ASP.NET Core MVC

  • Bạn có khả năng sản sinh ra những áp dụng web có thể testing theo mô hình MVC(Model-View-Controller)
  • Bạn có thể xây dựng HTTP services cái mà hỗ trợ nhiều định dạng , có được đầy đủ hỗ trợ cho nội dung của dữ liệu trả về
  • Razor bổ sung một ngôn ngữ hiệu quả để xây dựng Views
  • Tag Helper cho phép code server side tham gia vào việc xây dựng và render phần tử HTML
  • Model Binding tự động ánh xạ dữ liệu từ HTTP request tới tham số của method action
  • Model Validation tự động hành động validate client và server

Tăng trưởng client-side

ASP.NET Core được thiết kế để tích hợp một bí quyết liên tiếp với nhiều client-side frameworks, gồm có AngularJS, KnockoutJS và Bootstrap. Về phần này tôi sẽ recommend với các nàng ở những nội dung bài viết sau

Xem thêm:  Web Api là gì? Hướng dẫn cách tạo Web Api mới nhất 2020

Tạo ứng dụng trước tiên

Như vậy tôi đã recommend một cách tổng quan những khái niệm của ASP.NET Core. Giờ là lúc chúng ta tìm hiểu cấu trúc một project ASP.NET Core MVC thông qua một ví dụ giản đơn

Thiết lập Visual Studio and .NET Core

thiết lập Visual Studio Community 2017. Chọn phiên bản tải xuống Community. bỏ lỡ công đoạn này nếu bạn đã có Visual Studio cài đặt trong máy

  • Visual Studio 2017 Home page installer

Chạy bản thiết lập và chọn các workloads bên dưới:

  • ASP.NET , web development
  • .NET Core cross-platform development

Xây dựng một website app

Từ Visual Studio, chọn tệp > New > Project.

Hoàn thành họp thoại New Project:

  • trong phần bên trái, chọn .NET Core
  • tại phần giữa, chọn ASP.NET Core website Application(.NET Core)
  • Tên của project chẳng hạn như là “MvcMovie”
  • Nhấn OK

Visual Studio đã dùng một template mặc định cho dự án MVC bạn vừa tạo. Bạn có một áp dụng làm việc hiện nay bằng cách điền tên dự án , một số tùy chọn. điều này là một dự án khởi đầu dễ dàng. Nhấn F5 để chạy ứng dụng trong cơ chế debug hoặc Ctrl-F5 trong cơ chế non-debug.
các nàng có thể theo dõi kết quả của trang chủ. Thật giản đơn đúng không ?

  • Visual studio khởi đầu với IIS Express và chạy ứng dụng của bạn. chú ý rằng thanh địa chỉ hiển thị dạng localhost:port# , không phải kiểu như example.com. đó là bởi vì localhost là hostname chuẩn cho máy tính local của bạn. Khi Visual Studio xây dựng một dự án web, một ramdom port được sử dụng cho web server. trong hình trên, số cổng là 5000. khi mà bạn chạy áp dụng, bạn sẽ thấy một vài cổng khác.
  • Việc chạy ứng dụng với Ctrl-F5(non-debug) cho phép bạn làm code điều chỉnh, lưu file, refresh trình duyệt và thấy ngay những điều chỉnh của code. Nhiều lập trình viên thích dùng cơ chế non-debug để mau chóng chạy ứng dụng , coi các thay đổi. điều này là cũng giống như với ngôn ngữ thông dịch như php, python hay ruby,..
  • Chạy với chế độ self-host. Một điểm mới trong ASP.NET Core là các bạn có khả năng chạy server như một áp dụng console thay vì host trên IIS. Để sử dụng cơ chế này, trong điểm khởi đầu với IIS chúng ta thay bằng bắt đầu với self-host(Tên chủ đạo là tên ứng dụng)

Cửa sổ console áp dụng

6 Kết luận

Qua những giới thiệu về ASP.NET Core trong bài viết này, các nàng có thể thất đây thật sự là những thay đổi lớn cho các ai đã quen với ASP.NET trước kia. Giờ đây ASP.NET đã trở thành một open-source, đa nền tảng có thể chạy trên nhiều môi trường, thiết kế tối ưu cho clound, module hóa, phù hợp nhất ASP.NET và ASP.NET MVC làm một (chỉ còn phiên bản MVC) , rất nhiều thay đổi tuyệt vời khác. Tôi hy vọng sẽ share nhiều hơn đến các bạn. Chúc các bạn có những khám phá hấp dẫn cùng ASP.NET Core.

Có thể bạn quan tâm:  Hướng dẫn cách lập trình trí tuệ nhân tạo Python cơ bản mới nhất 2020

Nguồn: https://topdev.vn/

Tags: .net core.net standard là gìasp net core teduasp.net core mvcasp.net core và asp.net mvcasp.net là gìkestrel là gìxây dựng ứng dụng web với asp.net core
Previous Post

Hướng dẫn cách lập trình trí tuệ nhân tạo Python cơ bản mới nhất 2020

Next Post

Test case là gì? Các loại Test case thông dụng hiện nay

Next Post
Images (10)

Test case là gì? Các loại Test case thông dụng hiện nay

CODER

Cần Hỗ Trợ

Chuyên mục

  • Tool
  • Blog
  • Tài Liệu
  • Lập Trình
  • Việc Làm
  • Công Nghệ

Phần mềm - Công cụ

  • Brands
  • Alosoft
  • Seeding
  • Top Việc
  • Tổng Hợp
  • Quản Trị Nhân Sự

Liên kết

  • Top Vui
  • Xe Mô Tô
  • Quản Lý Kho
  • Blog Việc Làm
  • Giải Pháp Việc Làm
  • Phần Mềm Miễn Phí

Coder.com.vn là blog cá nhân, mọi thông tin đều mang tính chất tham khảo. Do đó, chúng tôi không chịu bất cứ trách nhiệm nào đối với việc sử dụng các thông tin trên website.
Xem thêm Miễn Trừ Trách Nhiệm

No Result
View All Result
  • Trang Chủ
  • Lập Trình
  • Công Nghệ
  • Tool
  • Tài Liệu
  • Việc Làm
  • Blog

© 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.