为什么Mono无法在IIS 7下运行?
更新:为此目的阻止开发ISAPI的原因是什么?
答案 0 :(得分:5)
Mono不能在IIS 7下运行,因为Mono没有ISAPI模块来实现与IIS 7交互的正确API。
更新:关于阻止您开发ISAPI模块的问题?真的没什么。 Mono有一个很好的嵌入式API,您可以轻松地从C / C ++中使用它。我的猜测是,没有人这样做的原因是因为没有必要这样做。
答案 1 :(得分:2)
您不需要在IIS7上运行Mono。 Mono是Linux平台的初级开发(也可能是FreeBSD等;自从我上次研究它以来已经有一段时间了。)
因此,如果您想在IIS7上使用.NET,只需在Windows服务器上安装本机Microsoft .NET堆栈(可能已安装)。
您是否有任何特殊原因需要Mono而不是Microsoft的产品?
答案 2 :(得分:2)
首先,开发ISAPI很难。了解PHP ISAPI曾经存在多少问题以及它如何逐渐迁移到FastCGI。不要在那个死胡同上浪费精力。
其次,使用FastCGI驱动XSP可能是一种更简单的方法,但Microsoft仅为PHP提供FastCGI。不确定如何将其重用于XSP。
使用Mono当然有自己的值,因为您可以访问XSP和Mono源代码来调试任何棘手的问题。
答案 3 :(得分:2)
使用FastCGI可以使单声道与IIS一起使用: http://www.mono-project.com/FastCGI
您可以在IIS上安装FastCGI: http://www.iis.net/download/fastcgi
使用记事本打开此文件来配置FastCGI:
c:\WINDOWS\system32\inetsrv\inetsrv
例如,我run php on iis通过fastCGI将以下3行添加到此文件的底部然后保存:
php=PHP
[PHP]
ExePath="C:\Program Files\PHP\php-cgi.exe"
所以我对单声道的猜测可能是:
aspx=ASP
[ASP]
ExePath="C:\Program Files\Mono-2.10.1\bin\mono.exe"
当然,除此之外还有更多内容,而我的猜测只是为了激发某人的想法......