IIS导入导出站点设置

导出单独应用程序池:

appcmd list apppool "应用程序池名称" /config /xml > c:\myapppool.xml

导入单独应用程序池:

appcmd add apppool /in < c:\myapppool.xml

导出单独站点:

appcmd list site "站点名称" /config /xml > c:\mywebsite.xml

导入单独站点:

appcmd add site /in < c:\mywebsite.xml

案例:让IIS中ASP.NET 1.1与2.0并存

今天一个客户说他找了一个人上去他的服务器装了一个.net 1.1,然后我做的.net 2.0的站就无法访问了,报错如下:

Server Application Unavailable
The web application you are attempting to access on this web server is currently unavailable. Please hit the "Refresh" button in your web browser to retry your request.

Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.

以下是我的解决办法:

首先,由于他是先有2.0,再装1.1的。由于1.1出生的时候还没有2.0,安装程序还不够智能,会把2.0的IIS的注册覆盖掉,所以必须重新注册2.0(先装1.1,后装2.0的可跳过次步)

在命令行模式下键入以下命令

  • cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
  • aspnet_regiis –i

最好先CD进.Net较新版本的目录下再执行aspnet_regiis,否则可能会受Windows全局Path变量的影响,导致其他版本问题

然后,进入IIS管理器,新建一个应用程序池叫做“ASP.NET 1.1”

在需要运行在1.1版本的站点下点 右键->属性->主目录 选项卡中的应用程序池选项中选择“ASP.NET 1.1”

最后,在站点属性的ASP.NET选项卡中选择 1.1.4322

重启IIS,这样1.1和2.0的站就可以在不冲突的环境运行

IIS Express命令行使用方法

使用方式:

iisexpress [/config:config-file] [/site:site-name] [/systray:boolean]

iisexpress /path:app-path [/port:port-number] [/clr:clr-version] [/systray:boolean]

/config:config-file

applicationhost.config文件的全路径。默认值是位于用户的Documents目录下的IISExpress8\config\applicationhost.config文件。

/site:site-name

要加载的站点名,在applicationhost.config文件中声明。

/path:app-path

待运行应用的完整物理路径。该选项不能与/config等相关选项一起使用。

/port:port-number

应用绑定的端口号。默认值是8080,还需要指定/path选项。

/clr:clr-version

运行应用的.NET Framework版本号(比如v2.0)。默认值是v4.0,还需要指定/path选项。

/systray:boolean

启用或禁用系统托盘应用,默认值是true。

示例:

iisexpress /site:WebSite1

该命令会运行用户配置文件中的WebSite1站点。

iisexpress /config:c:\myconfig\applicationhost.config

该命令会运行指定配置文件中的第一个站点。

iisexpress /path:c:\myapp\ /port:80

该命令会运行c:\myapp目录中的站点,端口号是80。