我设法在ubuntu / apache / mono下运行一个C#asp页面,但我不想在这些ASP页面中编写我的框架,我想直接使用C#然后我将使用模板我的观点的语言。但我不知道从哪里开始?
C#是一种编译语言,所以...我该怎么做?我会编译所有内容然后将apache挂钩到(单个)可执行文件并传入请求URL吗?我可以请求特定的.cs
页面然后让apache告诉它编译,然后只有在它被更新时“显示”它吗?可以单独编译“视图”文件,以避免每次更改时都重新编译所有内容吗?是否有一些我可以使用的“基础”,或者我将不得不重新发明访问GET和POST变量(通过读取标题信息)以及我们认为在PHP等语言中理所当然的各种其他东西?
答案 0 :(得分:3)
AFAIK没有理由你不能在ASP.NET核心上做你想做的事情,使用像HttpApplication,HttpHandler等东西。例如,你可以将所有的URL路由到一个HttpHandler并从那里手动取出
我建议看看ASP.MVC是如何做到的 - 在MonoDevelop中创建一个新的ASP.NET MVC项目,查看Global.asax.cs,打开Web.config并查看自定义的http处理程序和模块它注册。 ASP.NET MVC是OSS,所以你也可以在那里挖掘。
答案 1 :(得分:1)
如果你真的不喜欢使用ASP,你可以尝试阅读ASP的源代码,看看他们如何实现你需要的功能,比如访问POST和GET信息,路由,会话管理,等
然而,这将是一项工作。您可以做的是在c#类库中实现绝大多数逻辑,只需使用ASP“托管”应用程序,并传递您需要的数据。
答案 2 :(得分:1)
没有人要求你在ASPX页面中加入大量代码。 (请不要使用ASP,这是另一回事。)
在ASP.NET WebForms模型中,您可以使用Code Behind模式。
在ASP.NET MVC模型中,您可以更好地控制几乎所有方面。
因此,请花一些时间潜入现有模型。试图推出自己的产品可能是浪费时间。
Mono支持这两种型号。
此外,ASP.NET的设计方式与PHP不同,您应该知道引入的差异无法始终满足您的要求。
答案 3 :(得分:1)
答案 4 :(得分:1)
ASP .NET MVC有很多备用模板语言,请参阅这个问题以获取loooong列表:ASP.NET MVC View Engine Comparison