Unity热更新文件的服务器部署(IIS)

1、VS新建一个"ASP.NET空网站"

  工程结构如下

  最好设置.Net FrameWork版本为 V4.0或者V4.5版本的,因为我们的程序最后是要部署到阿里云的虚拟服务器上的,而阿里云上支持V4.0和V4.5,如果设置成其他版本就会有问题,一般处理程序.ashx貌似只支持V4.0及以上版本

  

  

2、添加一个一般处理程序用于处理游戏的登录请求Login.ashx,以及添加一个网站的主页index.html(可以不添加,仅仅为了测试网站是否连通)

  

  这里的登录请求我就简单写了,仅仅为了测试

  

  主页index.html也只是仅仅展示一行文字“Hello MyFrameWork!”

  

3、添加一个文件夹,用于存放自己的assetbundle

  

4、发布网站

  

  右键先点击生成网站,生成成功之后,再点击发布Web应用

  再弹出的窗体上,点击自定义,会让你输入配置文件名称,随便起个名字即可,然后转下一步,发布方法选择“文件系统”,并选择一个目标位置

  然后一路默认即可,最后点击发布就可以了

5、打开IIS

  右键,添加网站

  

6、打开本地的hosts文件,配置本地的ip地址映射

  hosts文件一般在c:WindowsSystem32driversetchosts

  

  用浏览器打开http://www.hotupdate.com,就可以看到Hello MyFrameWork!

  

7、因为我们的assetbundle文件的后缀是.ab和.tex,此类文件是要支持下载的,所以我们要为此类文件配置MIME类型,分别添加.ab和.tex,他们的MIME类型都指定为application/octet-stream即可,另外.tex不用设置了,默认是有的

  我们在IIS里所做的这些配置,都会自动修改到Web.config文件里,所以我们在编写网站的时候提前写好,那么在IIS中就无需去手动设置了

  设置MIME类型后,Web.config配置文件自动被修改成这样了

  

8、一定要把应用程序池的.NetFramework版本设置为V4.0集成模式(默认为V2.0),这样应用程序才好请求访问一般处理文件.ashx

9、如果要支持Android等目录能在浏览器上浏览,那么只要在IIS中把目录浏览开启即可,但是如果某个目录下有web.config文件,并且内容如下,那么此目录是只受此配置文件的影响而不受IIS中目录浏览的影响的,这个配置文件就限定了此目录不能被在浏览器上浏览

     

  另外如果想某个文件或者某个目录在浏览器上是无法浏览的,可以通过IIS的“请求筛选”功能,进行设置即可!

  一般我们只设置“文件扩展名”和“隐藏段”两项,“文件扩展名”筛选,顾名思义就是对扩展名进行了访问限制,当然通过设置文件扩展名的方式会导致整个站点下的所有对应类型文件都被禁止访问,如果你只是希望某些文件被禁止访问,那么你可以通过“隐藏段”进行设置,该设置是设置某个目录下的文件禁止被访问

  这里我设置了“Android”目录不可以访问

  

  对应的Web.config文件也被自动进行了修改

  

原文地址:https://www.cnblogs.com/MrZivChu/p/hotupdate.html