ASP.NET MVC4网站搭建与发布【最新】

news/2024/5/8 18:33:20/文章来源:https://blog.csdn.net/u014466109/article/details/80538763

ASP.NET MVC4网站搭建与发布

一些往事

2015年,仅仅大二的我怀着一颗创业之心,加入了常熟派英特,成为阳光职场平台的创始之一,并肩负了公司技术部的大梁,当时阳光职场正在从线下服务向互联网化升级过渡。

距我离开自己公司已经快1.5年了,如今的我也面临着毕业,就业的难题,这期间我跑过大中小型各种公司,值得一提的是,其中包括一家全球知名的bios生产商,American Megatrends也给了我offer(此处小激动),而创业似乎离我渐渐远去,看清现实的自己,不得不把自己身份放低,踏踏实实去做一名开发者,面试期间,为了获得更多公司对我项目经验的认可,我将把我经历过的各种平台的项目重新发布,其中包括了PHP项目,ASP.NET项目,J2EE项目,Node.js项目,Python项目,可以说我真是一个超全栈程序员,技术栈十分混乱,正如前面所说长期从事web开发的我由于对底层C也有一定基础,故获得了AMI BIOS的认可,我的每一个新项目都尽量采用自己不懂不会的平台去开发,以此来挑战自己的学习能力,提高自己对编程的认识和理解高度。

本次要搭建的项目是本人当年在休学创业期间,为自己公司构建的全职兼职就业平台——“阳光职场”,该项目基架(包括CMS)原由外包公司代工,在2015年我加入常熟派英特公司后,将全网站前后端进行了重构,由于“外包遗留问题”,网站采用的是我当时不熟悉的ASP.NET平台,我不得不从PHP程序员临时转型为C#开发者,花了一个月自学C#与ASP.NET,最后成功的重构了整个网站。今天我让“阳光职场重获重生!”,遗憾的是这也将是我最后一次做ASP.NET的项目相关,说真的我一点也不喜欢“微软全家桶”以及各种图形界面的服务器配置(真的很蠢),做.NET是不可能的,这辈子都不会做.NET!

MS ASP.NET全家桶

对于ASP.NET这种高度集成的环境,不管是开发还是本次发布已有的源码项目,都需要用到微软全家桶,而且必须采用!

基本工具

  • visual studio 2017(勾选web与SQL的全部组件)
  • SQL Server 2017
  • SSMS(sqlserver管理工具)
  • IIS服务器

在这里必须抱怨一下,这一套加起来容量多大我已经数不清了,我的C盘至少少了20G,这还是在我把vs安装在d盘的情况下,而要是我采用PHP或者Node进行web开发,顶多不过是500M的样子罢了,128G的surface伤不起呀,这里力劝创业者和企业在启动项目前如果想要加入ASP.NET一定要慎重思考。

工具用途

不像php开发网站,发布归发布,开发归开发,可以使两套工具。ASP.NET任何情况都是全套,因为C#需要经过vs的编译,除此以外光SQL Server数据库也是不够的,管理工具sql server manage studio也是必须的,导入数据用,这两个可以捆绑安装。别问为什么,SQLserver即是要配置局域网访问(非本地访问)也需要SSMS来操作,你想要远程导入也是不可能的的,笔者在配置时使用了虚拟机,将网站发布在虚拟机中,结果发现虚拟机内不安装SSMS,连访问虚拟机中SQLserver的可能都没有。

至于IIS就更加糟糕,它不像Linux下配置Nginx或是apache,找到etc目录下的配置文件,按照每一行的注释修改即可,微软靠的是图形界面,连server端都逃不过,这就让我这个Linux控十分难受了,因为图形界面反而让我不知道去哪修改我想要的配置,总之,后面会一一解释最终我是如何在IIS上跑asp.net mvc4。

数据库先行

(这一步保证你已经安装好SqlServer与SSMS)

以上所有工具,我是先从SqlServer入手的,毕竟数据库是网站的核心嘛,打开SSMS管理工具,会自动弹出本地数据库服务器连接,点击windows身份连接即可。

SSMS管理器

导入数据

这里以sql文件为例(在微软的数据库世界里,一般他们都喜欢mdf文件)

第一步,创建数据库

这里我新建一个叫SunJob的数据库。

第二步,新建查询

由于我们导入的是sql文件,sql文件其实就是批处理(脚本)语言罢了,在这里选择菜单栏“新建查询”,或者直接将sql文件拖拽至SSMS当中即可,注意是否需要修改sql文件部分内容,比如我这里删除了“create database”等语句,最后点击“执行”,去数据库刷新一下看看表和视图是不是都在里面了。

数据库导入后

添加用户

左边树状栏,找到安全性(最外层,这是数据服务器级别的)->登录名,新建一个登录名,也就是新用户,配置如下,主要工作是将刚刚新建的数据库授权给他作为默认数据库,在SqlServer中最好每个数据都有角色管理(好吧,mysql我都是root直辖的)。

这里写图片描述

刚刚只是为SqlServer添加了用户,还要,找到新建好的数据库(SunJob)->安全性(这是单个数据库级别的)->用户->右击新建用户

这里写图片描述

点击浏览,在对话框中找到刚刚新建的用户,打上勾,确定即可

这里写图片描述

关于用户对数据库增删改查的权限

运行项目可能会遇到没有select权限的问题,需要在安全对象中为新建的用户授权,如下:

这里写图片描述

关于sqlserver用户登录时:18456错误

为整个数据库服务器开通“windows用户登录以及sqlserver用户双重登录功能”,右击左侧树状栏的最顶层(DESKTOP-XXXX),也就是本机数据库服务器(sqlserver)-》属性-》双击“安全性”。

这里写图片描述

编译和发布

打开visual studio 2017,菜单栏选择打开项目,找到sln文件。

修改web.config

修改connectionStrings

神奇的是,在asp.net的世界里,数据连接不是一个json或者类似json对象的配置,而是一行字符串,笔者习惯了php,遇到这种一行字符串配置连接真的是懵逼啊,不过好在我们可以通过vs找这行连接字符串。

点击vs菜单栏工具找到:“连接到数据库”,弹出对话框,选择想要的那种。

这里写图片描述

下拉服务器名,vs会自动搜索本机上安装的sql server,这里会卡挺久的,如果vs找不到,可以回SSMS中找到目标数据库,右击属性,然后点击“查看连接属性”,里面可以找到服务器名称。

这里写图片描述

回到vs2017中,填写完整连接信息,点击测试连接,成功后点击高级(这里可以看到连接字符串了,也可以不用点,后面有完整的,直接复制到web.config中即可):

这里写图片描述

vs右侧的“服务器资源管理器”,右击查看刚刚添加的数据库连接的属性,可以看到关于他的连接字符串。

这里写图片描述

最后,将查到的data source修改到web.config文件里的connectionStrings中!项目可以连接到数据库了。

<connectionStrings><add name="SunJob" connectionString="Data Source=DESKTOP-4V7JQD8\SQLEXPRESS;Initial Catalog=SunJob;User ID=sunjob;Password=25" providerName="System.Data.SqlClient" />
</connectionStrings>

运行一下项目试试!不禁热泪盈眶,那一年我们的公司,我们的网站!(如今只能在自己电脑上运行了)

这里写图片描述

其实到这里已经基本大功告成了,但是只能本地访问(这其实是vs自带的iis模拟器),需要局域网或者广域网访问,需要将项目部署到IIS,这样看上去也更像是一个完整的网站,不过域名我就不给他了(:з」∠)

发布网站

visual studio中右击左侧树状栏中的项目,点击发布:

这里写图片描述

等等需要将这个vs发布的目标位置作为iis网站目录。注意发布方法为“文件系统”!

开启windows iis功能

这一步比较基础,不做详述,自己看图

这里写图片描述

更多详细步骤参阅:https://jingyan.baidu.com/article/eb9f7b6d9e73d1869364e8d8.html

注意把“.net4+”相关的都打钩。

配置IIS

打开IIS管理器,右击添加网站

这里写图片描述

这里写图片描述

图中圈出来的都是配置重点,如果是asp.net mvc4网站,需要一模一样!

关于:此操作要求使用 IIS 集成管线模式错误

进入应用程序池中修改托管管道模式

这里写图片描述

关于:局域网访问IIS

请在防火墙高级设置中添加入站规则,将相应端口号开放

好了,网站已经可以正常访问了。

这里写图片描述

注:由于该项目为商业项目,源码最终归属权属于常熟派英特信息技术有限公司所有,本博客只涉及asp.net mvc建站技术,源码不对外开放,请读者使用个人项目尝试,谢谢合作!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_781265.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Github+Hexo搭建个人博客 - Hexo建站(一)

一、博客搭建 1.1.1 安装nodejs 官网: https://nodejs.org/en/ 下载好后, 打开一直下一步即可. 查看是否安装成功 $ node -v v12.10.01.1.2 安装Git Windows: 下载并安装 https://git-scm.com/download/win 1.1.2.1 git设置 配置推送的用户名和邮箱 $ git config --glob…

Github搭建的博客更改为自定义域名 - Hexo建站(二)

本文主要目的: 创建Githubs name.github.io网站后, 想改为自己的域名 更改为自定义域名 1.购买自己想要的域名 2.域名备案 3.域名解析 GitHub Page最新域名解析地址: https://help.github.com/en/github/working-with-github-pages/managing-a-custom-domain-for-your-github…

NexT主题导航图标不显示或者导航链接404 - Hexo建站(三)

图标显示问号 修改主题配置文件: /themes/_config.yml menu:home: /|| homecategories: /categories/|| tharchives: /archives/|| archiveabout: /about/|| user#tags: /tags/ || tags#schedule: /schedule/ || calendar#sitemap: /sitemap.xml || sitemap#commonweal: /404…

添加验证网站之CNAME验证操作-百度搜索资源平台

为了让百度可以搜索到自己的网站内容来提高自己网站的曝光度, 需要下面操作完成. 本文针对通过GitPagesHexo搭建的博客, 来让百度搜索到, 因为前两种方法都是未知原因301, 所以只能使用CNAME验证来完成. 一、查看自己网站是否可以百度搜索到 百度搜索: site:完整域名,若是下图,…

github分支备份博客源文件 - Hexo建站(四)

Hexo建立的博客的所有文件, 刚开始是没有.git文件夹的. 首先进入.deploy_git目录下, 新建一个分支hexo git branch hexo然后将该目录下的.git文件夹复制到博客的根目录下, 也就是上一级目录.在git bash下操作, 切换到hexo分支. git checkout hexo将根目录下的文件先建立索引, …

侧栏中的posts打开的链接错误,修改链接 - Hexo建站(五)

当鼠标移到posts时, 访问的链接是域名/archives/%7C%7C%20archive/, 可见后面的多余了, 问题就是删除后面多余字符 解决多余字符 posts的class"site-state-item site-state-posts" 打开博客根目录/themes/next/layout/_macro/sidebar.swig, 搜索class的值, 快速定…

主页文章添加背景图片后给文章添加阴影效果 - Hexo建站(六)

博客地址预览: http://www.clearlight.com.cn 打开博客主目录文件 -> themes -> next -> source -> css -> _custom -> custom.styl 里面填上如下代码: .post-block {background: rgba(255, 255, 255, 0.84);padding: 25px; }// 主页文章添加阴影效果 .po…

NexT主题网站一直请求static.duoshuo.com,如何取消多说 - Hexo建站(七)

一、问题描述 如上图, 一直在请求, 打开浏览器控制台, 一段时间后, 可以看到响应500. 多说已经关闭, 所以放弃多说, 之前设置多说没成功, 也没管, 因此后面, 一直在请求多说, 很苦恼. 取消主题的配置文件中的duoshuo都设置为false, 还是在一直在请求 &#x1f626; 二、解决…

GitPage如何对自定义域名开启强制https - Hexo建站(九)

Github搭建的博客更改为自定义域名 - Hexo建站(二) 更改为自己域名后, 正常访问是: http://www.xxx.com 如何开启https进行访问网站? blog仓库的setting选项找到GitHub Pages的项目配置 勾选Enforce HTTPS选项即可开启, 但是如果之前已经开启了自定义域名, 该选项是无法勾选…

NexT主题分页的翻页箭头显示i class=fa fa-angle-right/i - Hexo建站(十)

看了这篇文章, 终于明白, 只能用魔法来战胜魔法 &#x1f603; 解决Hexo博客模板hexo-theme-next的翻页按钮不正常显示问题 显示为: 修改代码的位置: themes\next\layout\_partials\pagination.swig 原来为: {% if page.prev or page.next %}<nav class"pagination&…

hexo如何同时部署到github和coding? - Hexo建站(十一)

部署到github上, 访问的速度实在是太慢了. 所以可以部署到coding上, 两者并不冲突, 而且coding也可以自定义域名. 所以这个操作是很有必要的. 官网: https://coding.net/ 新建账户后, 把公钥加到coding的ssh公钥里面, 添加的时候, 你用你之前添加到github的公钥在添加到coding…

【分享】提取歌曲背景音乐在线网站和GitHub开源项目

提取歌曲背景音乐在线网站和GitHub开源项目前因&#xff1a; 今天一同学找我说希望能把Stewart mac唱的《I Love You》的歌词提取出来做婚礼的背景音乐。在网上没有搜到资源&#xff0c;本来想着用Adobe Audition cs6软件来处理&#xff0c;转念一想&#xff0c;或许可以使用深…

织梦html5上传,dedecms本地调试好的网站怎么上传到服务器

dedecms本地调试好的网站怎么上传到服务器&#xff1f;这个教程只适合菜鸟看哦&#xff01;对于新手来讲绝对有用&#xff0c;这都是我经常用的。1、在本地调试好dede系统后&#xff0c;进入本地网站的后台&#xff1a;点击 系统-----数据库备份/还原默认是&#xff1a;勾选全部…

table 手机 滑动_手机端如何做seo优化?

1前言据国内三大运营商数据来看&#xff0c;中国的手机用户数已达15.7亿&#xff0c;超过3/5的移动用户每个月都会从手机终端访问网页&#xff0c;如今的移动端手机网站比例肯定有提升&#xff0c;但是对于这些存在的移动版本网站来说&#xff0c;小编查看了很大一部分手机网站…

php返回503,网站返回503是什么意思

网站返回503表示服务器资源暂时不可用。当客户端向服务器端发送一个请求的时候&#xff0c;服务器端会给出一个响应&#xff0c;然后返回一个http状态码&#xff0c;如403&#xff0c;表示无权限访问。当客户端向服务端发送一个请求的时候&#xff0c;服务器端会给出一个响应&a…

电脑编程学习_有哪些适合学习电脑编程的网站?

给大家推十三个学习网站&#xff0c;记得收藏学习哦一、慕课网是垂直的互联网IT技能免费学习网站。以独家视频教程、在线编程工具、学习计划、问答社区为核心特色。在这里&#xff0c;你可以找到最好的互联网技术牛人&#xff0c;也可以通过免费的在线公开视频课程学习国内领先…

cdn对动态网站有作用吗_什么是高防CDN?

高防CDN是为了更好的服务网络而出现的&#xff0c;是通过高防DNS来实现的。高防CDN是通过智能化的系统判断来路&#xff0c;再反馈给用户&#xff0c;可以减轻用户使用过程的复杂程度。通过智能DNS解析&#xff0c;能让网站访问者连接到响应的服务器上&#xff0c;以避免某个服…

网站优化之友情链接的选择标准、友情链接的管理及如何找取

相信看完之前的文章后&#xff0c;你已能够独立布局一个最适合seo的页面&#xff0c;关键字、标题的写法请参看我的文章&#xff1a;[seo系列专题&#xff1a;如何有效选择关键字及关键字 title写法] 。好的架构加上原创的内容将是你成功的基石&#xff0c;一味的采集会使SE认为…

网站开发技巧参考大全

事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey 事件返回值 event.returnValue 鼠标位置 event.x event.y 窗…

7月第二周搜索引擎网站排名:百度谷歌搜搜前三

中国IDC评述网07月18日报道&#xff1a;近日&#xff0c;根据国际统计机构Alexa公布的最新数据显示&#xff0c;7月第二周&#xff08;2012-7-9到2012-7-15&#xff09;&#xff0c; 我国搜索引擎中&#xff0c;百度以114,300的周均用户覆盖数举榜首&#xff0c;排行第二的是谷…