我正在开发一个开源项目(Logbus-ng),需要在控制台应用程序中实现一个Web服务,以使其能够在Windows和Mono上正常工作。
目前,感谢MSDN杂志的tutorial,我已经成功地在Windows上完成了这项任务。控制台应用程序可以生成自己的Web服务器,并实际上向外部打开Web服务接口。问题是,在Mono上无法正常工作,这可能是由于Mono的一个错误导致的。
与Mono开发人员聊天后,他们建议我使用Mono.XSP程序集将ASP.NET管道引入控制台应用程序,因此我认为我将根据配置使用不同的web服务激活器实现此功能。
现在我的问题是:由于Mono.XSP在所有Mono发行版中都可以在GAC中使用(即在Linux下使用xbuild时),但在Windows下除非有人将其安装到GAC中,否则不可用。我不想随软件一起发布Mono.XSP,也不想强制某人安装Mono(例如在Windows下编译时)如果他们不需要它,那么我能否设置对GAC中的Mono.XSP程序集的引用,只有在启用MONO编译标志时才启用?当启用此标志时,我的代码显然将引用Mono.XSP而不是上面链接的教程中涵盖的HttpListenLibrary,并且编译器将正确使用该引用。
目前,感谢MSDN杂志的tutorial,我已经成功地在Windows上完成了这项任务。控制台应用程序可以生成自己的Web服务器,并实际上向外部打开Web服务接口。问题是,在Mono上无法正常工作,这可能是由于Mono的一个错误导致的。
与Mono开发人员聊天后,他们建议我使用Mono.XSP程序集将ASP.NET管道引入控制台应用程序,因此我认为我将根据配置使用不同的web服务激活器实现此功能。
现在我的问题是:由于Mono.XSP在所有Mono发行版中都可以在GAC中使用(即在Linux下使用xbuild时),但在Windows下除非有人将其安装到GAC中,否则不可用。我不想随软件一起发布Mono.XSP,也不想强制某人安装Mono(例如在Windows下编译时)如果他们不需要它,那么我能否设置对GAC中的Mono.XSP程序集的引用,只有在启用MONO编译标志时才启用?当启用此标志时,我的代码显然将引用Mono.XSP而不是上面链接的教程中涵盖的HttpListenLibrary,并且编译器将正确使用该引用。