前段时间在局域网上发布了一个自己做的网站,发布过程中遇到了不少问题。下面就发布过程和发布过程中遇到的问题与(你)大家一起分享一下,希望对(你)大家有所帮助吧!

在将ASP.NET网站发布到服务器之前需要先完成以下步骤:
1、在服务器中创建用于存放所有网站文件的虚拟目录;
2、为站点指定使用的域名或IP地址;
3、为远程用户提供用于上传文件的FTP用户名和密码。

一、在Web服务器上配置IIS
Internet Information Server的缩写为(IIS)是一个World Wide Web server。
Gopher server和FTP server全部包容在里面。 
IIS意味着你能发布网页,并且有ASP(Active Server Pages)、JAVA、VBscript产生页面,
有着一些扩展功能。
其次,IIS是随Windows NT Server 4.0一起提供的文件和应用程序服务器,
是在Windows NT Server上建立Internet服务器的基本组件。它与Windows NT Server完全集成,
允许使用Windows NT Server内置的安全性以及NTFS文件系统建立强大灵活的Internet/Intranet站点。

1、为站点准备一个IP地址
任何一个能被访问的站点必须有一个固定的IP地址为前提,Windows Server 2003或Windows XP
允许为同一快网卡设置多个IP地址,操作方法如下:
在“本地连接”上右击,在弹出的快捷菜单中执行“属性”命令,打开“本地连接属性”对话框。
选择“Internet 协议(TCP/IP)”后单击【属性】按钮,在打开的对话框中单击【高级】按钮,然后单
击“IP地址”区域中的【添加】按钮,在打开的对话框中输入要添加的IP地址与子网掩码即可。
(如IP地址:192.168.0.1,子网掩码:255.255.255.0)

注:微软对上述操作有明确的说明:“如果同一网卡的IP地址超过9个,不能保证其运行的稳定性”。
对于这上问题的一个有效的解决办法是:如果同一服务器中安排的站点数量过多时,可以通过在IIS
中指定不同的TCP端口号来区分不同的站点。如:“http:\\192.168.0.1:8080”和“http:\\192.168.0.1:8081”
表示访问使用同一个IP地址的两个不同的站点(端口号分别为“8080”和“8081”),http的默认端口号是“80”,
即“http:\\192.168.0.1”与“http:\\192.168.0.1:80”等效。

2、为站点创建“主目录”
每个Web站点必须有一个“主目录”。该目录是位于服务器上存放站点所有文件的目录。要求目录所
处的驱动器必须是NTFS分区。

3、配置IIS
在“控制面板”打开“管理工具”,在“管理工具”窗口中打开“Internet 信息服务(IIS)管理器”
打开IIS管理窗口。在管理器的左窗口中选择“网站”,再在“操作”菜单中选择“新建”下的“网站”
命令。启动“网站创建向导”,然后按向导提示分别输入网站的描述和为网站分配的IP地址等。操作完成
后将建立一个空的站点。只要将完成的网站发布到网站的指定目录下就可以通过浏览器对网站进行访问了。
注:对于没有添加IIS的系统先要为其添加IIS。添加方法是:打开“控制面板”的“添加/删除程序”
选择“添加/删除Windows 组件”中选中“Internet 信息服务(IIS)”同时将系统盘插入光驱中点击“下一步”
进行IIS的安装。只有先安装好IIS才在IIS中进行对网站的配置。
注:对于创建好虚拟站点的网站还可以在IIS管理窗口中对其进行进一步的设置。在IIS管理窗口中右
击创建好的网站,打开其属性对话框进行进一步的设置:
(1)由于VS2005创建的ASP.NET网站需要ASP.NET 2.0
版本的支持,而IIS一般默认的为ASP.NET 1.1故要在打开的属性窗口的ASP.NET选项卡下的“ASP.NET 2.0
版本”下拉列表框中选择ASP.NET 2.0版本。
(2)在打开的属性窗口的“文档”选项卡的“启用默认文档”区点击【添加】按钮将网站的起始页面的名称
添加到文本框中。这样在浏览器中输入站点的域名或IP地址后将打开默认的起始页,而无需输入起始页面名称。
(3)在打开的属性窗口的“网站”选项卡中可以更改站点的描述、IP地址和TCP端口等信息。

在第一次发布网站时往往还会遇到以下几个问题:
(1)浏览器中输入网站的地址后出现如下的提示:
“服务器应用程序不可用 
您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。”

当我们查看系统事件日志发现:

错误:
未能初始化 AppDomain:/LM/W3SVC/1/Root,未能加载文件或程序集“System.Web....”

错误:

由于无法创建应用程序域,因此未能执行请求。错误: 0x80070005 拒绝访问。 
警告:
未能初始化 AppDomain:/LM/W3SVC/...
Exception: System.IO.FileLoadException
Message: 未能加载文件或程序集“System.Web, Version=2.0.0.0, Culture=neutral, 
PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。拒绝访问。
等的错误提示信息。

对于上述问题产生的原因一般有两个:
1、asp.net2.0没有正确地在IIS中注册 
2、权限问题

如果是第一种情况,可以重新注册asp.net:
系统盘\windows\microsoft.net\framework\v2.0.50727(此处为版本号)\aspnet_regiis.exe 
-i
或者是直接在Mocrosoft .NET Framework v2.0 的SDK命令提示符下输入:aspnet_regiis.exe 
-i 
如果是权限问题,需要确保asp.net运行帐户(默认情况下,在win2003中是Network 
Service,在xp中是aspnet)对N个目录具有相应的访问权限,主要是系统目录
(具体列表可以在网上很容易找到),还有一个容易忽略的目录:Web应用所对应的虚拟目录

(2)浏览器中输入网站的地址后出现如下的提示:
“访问IIS元数据失败”

这是由于先安装的VS 2005,后安装的IIS才出现的。

解决办法如下:
在开始菜单中打开 "Microsoft .NET Framework SDK V2.0"目录下的“SDK 命令提示符”,
打开以后在命令提示符中运行“aspnet_regiis -r”就可以了.
如果你安装的只是.net Framework,那么可以到下面的目录运行同样的命令:
%Systemroot%\Microsoft.NET\Framework\v2.0.50727

二、创建FTP远程管理账号

在IIS中创建了发布ASP.NET网站需要的站点后,还需要为用户提供一个用于远程上传文件的FTP服务器账号。

当然如果只是在局域网上发布的话,最后一步就省了。

C#做完一个网站怎么发布?的更多相关文章

  1. 做为一个前端工程师,是往node方面转,还是往HTML5方面转

    文章背景:问题本身来自于知乎,但是我感觉这个问题很典型,有必要把问题在整理一下,重新分享出来. 当看到这个问题之前,我也碰到过很多有同样疑惑的同学,他们都有一个共同的疑问该学php还是nodejs,包 ...

  2. 【腾讯敏捷转型No.5】需求没做完可以发布嘛

    很多人对于敏捷的第一直觉就是“快”,开发快,测试快,发布快,并不知道如何把这个“快”应用到敏捷实践中,下面我们来分析一下导致工作效率低的核心原因.没有使用敏捷之前,在大多数情况下,项目管理都需要开各种 ...

  3. 如果一个网站存在CSRF漏洞,可以通过CSRF漏洞做下面那些事情?

    如果一个网站存在CSRF漏洞,可以通过CSRF漏洞做下面那些事情? 答:跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求.利用受害者在被攻击网站已经获取的注册凭证 ...

  4. 在IIS上发布一个WebService,再发布一个网站调用这个WebService(实例)

    首先描述一下先决条件:IIS可用,VS2005可用. 好,现在开始: 首先写一个WebService并把它发布到IIS上: 在IIS上的默认网站下新建一个“虚拟目录”,取名为“webservice1” ...

  5. 做了一个非竞价排名、有较详细信息的程序员职位 match 网站

    作为一个程序员,每次看机会当我去 BOSS 直聘 或者拉勾网进行搜索时,返回的顺序并不是根据匹配程度,而是这些公司给 BOSS 直聘或者拉勾网付了多少钱.这种百度式的竞价排名机制并没有把我做为求职者的 ...

  6. 如何做一个网站 (C# + MVC Web+ easyUI )

    如何做一个网站 小编想做一个网站,采用技术为:C# + MVC Web+ easyUI 小编经过几天的学习,以及指了几位大神指导,初见效果.建立网站的思路:先列举需要用到了几个知识点,然后逐一攻克,然 ...

  7. My-Blog搭建过程:如何让一个网站从零到可以上线访问

    文章简述 5月13号的时候,上线了自己的个人博客网站:http://blog.hanshuai.xin,随后在平台上发布了一篇关于My-Blog的介绍博客<Docker+SpringBoot+M ...

  8. Web —— 在自己电脑搭建网站,发布到公网,并使用域名访问

    导读 闲置着一台笔记本,想拿来作为服务器来玩,先拿来发布之前的毕业设计的博客系统,百度搜出的资料玉石难辨,而且大多数前篇一律,刚开始参考了大多数资料来设置还是没能真正发布成功,最后发现原来网上大部分提 ...

  9. Linux 服务器 MySql的安装和网站的发布

    Linux安装MySql,并配置能通过自己的电脑连接服务器的数据库 昨天安装的MySql,今天上午配置MySql能使用本机连接服务器数据库,服务器时DigitalOcean的,提供了很全面很专业的文档 ...

随机推荐

  1. RedHat Linux 下安装、测试摄像头

    RedHat Linux 下安装.测试摄像头(全文见附件)     随着视频电话的迅速发展我相信大家一定有过在Windows 下安装摄像头的经历,然而大多数 都不支持Linux .我现以罗技摄像头为例 ...

  2. java.util.logging.FileHandler

    java.util.logging.FileHandler java自带的日志功能,FileHandler可以写日志到文件系统,并且自己维护日志的增删,比c++不知道强多少 FileHandler(f ...

  3. CentOS上搭建Tomcat环境并配置服务自启动

    下载安装JDK 卸载原装的OpenJDK(如果有) # 查看是否安装Java java -version # 查看Java的安装包信息 rpm -qa | grep java # 卸载原装Java,& ...

  4. Inter-process Communication (IPC)

    For Developers‎ > ‎Design Documents‎ > ‎ Inter-process Communication (IPC) 目录 1 Overview 1.1 I ...

  5. selenium无法定位元素问题

    在用自动化测试工具selenium完成下载任务时,经常会遇到定位不到元素的情况,总结如下: 1.frame/iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame ...

  6. img下面的留白解决

    在做网页的时候经常会出现一个令人困惑的现象.那就是行内元素和块级元素之间会出现“留白”.就是块级元素中明明只有一个行内元素,但行内元素却不会铺满块级元素.像这个例子: “留白”出现的原因 行内元素默认 ...

  7. Django and Scrapy 用法图片

  8. [Python] Manipulate Data with Dictionaries in Python

    Dictionaries may be familiar to you as hash maps. In this lesson, you will learn how to create them, ...

  9. Appium Android Bootstrap源代码分析之启动执行

    通过前面的两篇文章<Appium Android Bootstrap源代码分析之控件AndroidElement>和<Appium Android Bootstrap源代码分析之命令 ...

  10. UML类图中的几种关系总结

           UML类图,描写叙述对象和类之间相互关系的方式包含:依赖(Dependency).关联(Association).聚合(Aggregation).组合(Composition).泛化(G ...