我正在使用 SUNDAY("sunday"),
MONDAY("monday"),
TUESDAY("tuesday"),
UNKNOWN("unknown");
private final String value;
DAY(final String value) {
this.value = value;
}
private static final Map<String, DAY> VALUE_TO_TYPE = new HashMap<>();
static {
Stream.of(DAY.values()).forEach(type -> VALUE_TO_TYPE.put(type.value, type));
}
public String value() {
return value;
}
public static DAY fromValue(final String value) {
final DAY day = VALUE_TO_TYPE.get(value);
return day != null ? day : UNKNOWN;
}
}
和[user@vm ~]$ sudo pmap 13727 | grep total
total 3161064K
[user@vm ~]$ sudo smem | grep -e '13727' -e 'PSS'
PID User Command Swap USS PSS RSS
13727 activemq /usr/bin/java -Xms64M -Xmx1 0 212604 214962 229468
工具在安装我的软件期间向IIS Express添加网站,如下所示:
IIS Express
这样可以正常工作,并且该网站会添加到IIS Express中。
问题是,我后来需要从作为我的应用程序一部分的Windows服务的命令行启动IIS Express。我正在使用以下命令:
appcmd.exe
但是,从Windows服务启动的命令显然是个问题。服务在SYSTEM帐户下运行,而站点是在安装时从在当前登录用户帐户下运行的安装程序添加的。因此,当我尝试使用以下命令列出网站时:
appcmd.exe add site /name:MySite /physicalPath:"C:\Program Files\MySite" /bindings:http://*:8087/
我收到以下错误:
iisexpress.exe /site:MySite
这有什么办法吗?我可以在IIS Express中“全局”(针对所有用户)注册网站吗?还有其他想法可以解决这个问题吗?
答案 0 :(得分:0)
好吧,我找到了解决方案。首先,我复制了位于以下位置的模板配置文件:
C:\Program Files\IIS Express\config\templates\PersonalWebServer\applicationhost.config
然后,我通过在appcmd命令行中添加以下(未记录的?)参数来调用appcmd传递我的专用.config文件,而不是使用默认的共享文件:
/AppHostConfig:"C:\path\to\my\applicationhost.config"
当我调用iisexpress.exe启动网站时,我还添加:
/config:"C:\path\to\my\applicationhost.config"
这似乎运作良好。
PS:我知道“正确”的解决方案是使用完整的IIS,但遗憾的是项目经理坚持使用自包含的软件包。