最近用asp.net的网站,就想尝试着发布看看(在学校,用的是内网,所以有ip的)
1、在vs中,右击项目,选择“发布”
在上图中,配置可以新建一个就可以了,但是重要的是第二幅图中的文件系统的选择以,路径:也就是你要发布的路径!就是把你的web工程打包发布到这个文件夹下面
然后打开iis,如果没安装的,先要从控制面板中安装。
随后,在iis配置管理器中,选择新建网站:
物理路径就写开始发布的那个“目标位置”就可以了。
网站名称可以随自己写,主机名最好不要填,填了就要通过主机名去访问,不填直接ip就可以了(这里假设为默认80端口)
但是问题来了,当我在本机上http://localhost进入时,能进入到登录网站,
但是不能进入,也就是数据库并没有起作用(我这里用的是access数据库)。
经网上查找,找到解决方法
解决方法:
主要原因是没有权限
先要设置应用程序池(Application Pool)为Classic .NET AppPool,而不是默认的Default AppPool。
在iis管理器中右击所选定的网站->管理网站->高级设置
然后:
然后再给“系统盘:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp”目录添加一个“Authenticated Users”的用户。
然后题Authenticated Users把所有权限都勾上
启用父路径支持
在站点主页上选择“ASP”,然后在“行为”组中将“启用父路径”设置为True即可。
应用程序池,点击后右边栏出现 Classic.NET AppPool 和 DefaultAppPool二个程序均显已启动,右键Classic.NET AppPlool选择高级设置,在弹出的高级设置中,把加载用户配置文件设置成 True ,点确定。
应用程序池,点击后右边栏出现 Classic.NET AppPool 和 DefaultAppPool二个程序均显已启动,右键Classic.NET AppPlool选择高级设置,在弹出的高级设置中,把加载用户配置文件设置成 True ,点确定。
如果是64位操作系统,则还要加一步:
要把应用程序池中项目的“启用32位应用程序”置为“ture”
至此,就可以通过http://localhost,在自己机器上访问了,数据库连接也不会出问题了。
但是,我发现在我同学机子上访问不行,连ping都ping不过,后来一查,是windows防火墙的问题
关闭即可访问!
至此,大功告成!