2011-08-31 78 views
6

我的公司有一个现有的软件产品,其中包含一个当前作为IIS内的应用程序存在的Web服务/移动网站组件。由于此应用程序由每个客户端托管(我们目前不提供集中托管,并且可能不会在未来可预见),这意味着每个客户的服务器必须安装并配置IIS以使我们的服务能够正常工作。在应用程序中包含IIS

我们正在经历重写应用程序的过程,我正在研究删除IIS的需求的可能性。我们的应用程序运行的各种环境(从运行XP Pro的工作站到2008 R2上的所有服务器)管理几个不同版本的IIS已成为支持头痛的问题。我们希望做一些类似于SQL Server Reporting Services与2008所做的相似的功能,其功能看起来相同,并且网站可以与IIS站点配合使用,但不需要IIS,也不需要将它作为安装程序的一部分进行安装。

我们的新应用程序使用WCF通过Web服务进行通信,并且自行托管的WCF服务足够简单。这是网络应用程序(即向浏览器提供HTML),似乎是挂断。有一点是不可协商的,那就是我们需要能够像Visual Studio一样在普通的ASP.NET Web应用程序(Webforms或MVC)中开发网站,但我们希望将它们托管在我们的服务中。

我看过IIS Express和IIS Hostable Web Core,但都不符合我们的要求; IIS Express是需要自己的安装程序的外部产品,Hostable Web Core需要安装IIS。

有没有什么能让我们在我们的Windows服务中嵌入一个功能齐全的兼容ASP.NET的Web服务器?

回答

4

看看CassiniDev,不需要任何安装:

http://cassinidev.codeplex.com/

+0

+1,这看起来像一个很好的选择。我希望得到支持而不是开源的东西,但如果这是我唯一合法的选择,那么我会接受。谢谢! –

+0

@亚当:我一直在使用它一段时间,并没有看到任何问题。但是,如果您想将Windows身份验证集成到服务器中,则必须稍微调整一下代码,然后使用它。 – Chandu

+0

你有没有使用它来自我托管?如果是这样,你怎么给它的应用程序?它是否必须作为机器上的物理目录存在,还是可以从内存中提供? –

0

是IIS Express中的选项?它支持回到Windows XP的版本。

http://www.microsoft.com/download/en/details.aspx?id=1038

+0

正如我在问题中所解释的,IIS Express是一个独立的产品;我们的目标是在进程中进行托管。 –

+0

好吧,我想你的主要目标是不必支持所有不同版本的IIS。 –

0

UltiDev Web Server Pro是一个很小的(1.5 MB发行),可与您的应用程序安装as a prerequisite捆绑免费再发行的Web服务器。它运行一切ASP.NET,尽管它的WCF支持仅限于basicHttp绑定,因为如果它在ASP.NET下运行,WCF期望由IIS托管。与IIS Express不同,它不依赖于.NET Framework 4,并且可以处理外部请求。