暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ASP.Net之笔记12-12(高级-自定义错误页 网站发布)

百变则是新 2019-10-31
300


高级-自定义错误页 网站发布
1、在Global.asax文件中Application_Error()方法,当网站出现未捕获错误时都会执行这个方法。
2、其实咱们除了这种处理错误的全局方式之外,还有一种办法:就是给它指定错误页。
   1)怎么指定错误页呢?就是在配置中进行配置,自定义错误 模式默认没有开启。
        eg:<system.web>\<customErrors mode="Off">//这就代表关闭,自定义错误页。
    2)如果我们把<customErrors>节点中的属性(mode)的值设置为"On",表示:启用错误页。后面还有一个属性(defaultRedirect),当我们出现错误时,默认跳转到该属性指定的页面。
   3)<system.web>\<customErrors mode="On" defaultRedirect="MyErrorPage.aspx">\<error> 中,<error>节点可以有多个。它的属性(statusCode),表示状态码。属性(redirect),表示要跳转的页面。整个标签的含义:就是出现某个状态的错误时跳到对应的错误页面。
    4)属性mode的值有三个可选值:On、Off、RemoteOnly
        (1)On:启用定制的错误页。
        (2)Off:不再使用定制的错误页。
        (3)RemoteOnly:这个是给开发人员用的。意思:在本机上显示那个错误的黄叶。如果是其它机器访问这个网站出错,就显示那些定制的错误页。即:这个错误页仅仅是给远程的机器用。【重点,核心】
   5)我们的自定义错误页,也可以在Global.asax文件中Application_Error()方法中进行实现。
    6)如果说项目交给了你,这两种方式,你想怎么搞都可以。
3、接下来咱们看,IIS怎么进行配置?
    1)首先把整个网站生成一下,生成成功以后。
    2)右键 网站项目->选择 “发布”->“新建配置文件”->输入“配置文件名称”->进入“连接”步骤->设置“发布方法(M)”
        (1)设置“发布方法(M)”,选择“FTP”:直接向你的网站上传输,最新网站的网页内容。
        (2)设置“发布方法(M)”,选择“文件系统”意思就是发布到我本地上,然后 指定“目标位置(T)”。
        (3)发布的时候最好是发布到 NTFS盘上,一般你的系统盘就是NTFS盘。还有FAT盘。
    3)配置好发布 “连接”后->进入发布 “设置” 配置->发布的 “配置”选择
        (1)Release-Any CPU:是生产模式发布,正式版本的发布。【最终给用户用的版本发布】
        (2)Debug-Net:是调试模式发布,即开发版本的发布。【开发还想继续调试】
    4)所有配置完毕,点击发布即可。
    5)接下来,就是在IIS中的操作。
        (1)展开网站,选中网站->右键->“添加网站”->录入 “网站的名称”,点击 “选择(E)” 按钮,我们可以进行 “应用程序池(L)” 的配置。我们选择“.NET v4.5 Classic”,为什么选择Classic模式呢?因为我们的配置就是就是经典模式,所以咱们设置的时候,只能设置成经典模式。
        (2)配置文件的不同方式,MSDN上也是很全的。动软生成的都选经典的 应用程序池。
        (3)“物理路径(P)”就是上述发布网站时 ,发布到本地时,指定的文件夹地址。
        (4)“绑定”模块的 “端口”,我们可以指定一个。“IP地址(I)”你不要去给它分配。你的机器上有可能有两个网卡,比如:一个内网网卡,一个外网网卡。如果你是对外发布的话,你选择你外网的IP,如果你选择“全部未分配”,这代表什么意思?表示都可以访问。如果你选了的话,指定了一个外网IP地址,那么就只能外网来访问,内网是访问不了的。【重点,新点,关键点】
        (5)“主机名”我们可以不写,因为当前没有 域名,所以可以不写。【待研究】
        (6)放在bin目录下的程序集,会自动加载到它的网站里面去,当我们加载了一个程序集,它还依赖于另一个程序集,如果它依赖的程序集不在这个里面的话,则这个程序集就加载不出来,那么整个程序就会报错。如果第一个程序集没有被其它的程序集调用,可以直接删除掉,不会影响网站的运行。
        (7)怎么去管理网站的默认页面呢?IIS中有一个“默认文档”菜单,点击以后,里面有许多默认的文档名称。默认页是什么意思呢?就是你访问网站根目录的时候,会自动到网站根目录下去找 “默认文档”中指定文档名称的界面,只要找到其中的一个,它们就执行,打开这个页面。我们可以调整默认页面名称的顺序来满足我们的需求。【重点,新点,核心】
        (8)IIS权限问题。不仅仅是IIS,所有的服务都是一样的。比如(WWW,World Wide Web Publishing Service)它想有个什么权限,这个服务再去操作操作某个文件的时候。 它有什么权限 这跟谁有关呢?这个跟服务登录的账号有关。登录服务的这个账号有什么访问权限,也就是这个服务有什么访问权限。也就是你这个操作系统当中,你这个用户有什么权限,你打开的程序就有什么权限。
        (9)如果看一个服务的登录用户。通过cmd命令:services.msc。打开服务管理界面,选中其中的一个服务,右键 选中"属性"->切换到"登录"Tab选项卡
        (10)一般情况下我们会给 IIS一个非常低的权限。因为IIS一旦被攻破,你弄一个Admin权限。那么就可以通过IIS可以获取到整个机器上所有文件目录的访问路径权限了。那就崩溃了。所以,一般情况下,咱们会给这个IIS服务一个不是很高级的权限。
        (11)怎么给IIS一个不是很高级的权限呢?咱们可以在服务的“登录”Tab选项卡中 指定一个 “账户”。我们首先 先给当前操作系统分配一个非常低权限的操作系统账号,然后让他登录这个服务的时候给他这个账号就行了。即:先分配一个低权限账号,让这个账号登录这个服务,那么这个服务的权限也就降低了。【重点】
        (12)一般你进一个稍微大点的公司的话,这个东西是不会让你来配置的。你想学这个东西,也可以做这方面的开发。专门做IIS的开发也是可以的。这个一般都是公司里面的项目配置管理员会去做这个工作,或者是运维的 需要研究这个东西。
4、直接通过 WebRequest类 来发送一个Http请求,不用咱们非得用浏览器才能发送Web请求。通过   WebRequest类就可以发送一个异步请求,这是微软的WebRequest类。通过代码的方式,来请求一个Http地址,去请求一个后台地址。也就是咱们的请求不一定都是走了浏览器。【重点,新点】
   1)通过这个知识,我们可以自己做一个 调用接口服务的 测试工具。eg:WebServer服务、Wcf服务 来调试 接口。不一定非得借助别人的工具(比如:PostMan)
    2)对于我们一个服务,多个端,进行联调的时候是非常痛苦的。有了这个工具,我们就可以自己模拟请求的发送了。
    3)懂了这个原理,我们可以做很多工具。
    4)像QQ也是利用这个原理,我们也可以来做一些类似的产品,做的好了也是会有用户的。


文章转载自百变则是新,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论