6

我已经设法让 C# asp 页面在 ubuntu/apache/mono 下运行,但我不想在这些 ASP 页面中编写我的框架,我想直接使用 C#,然后我将使用模板语言为我的意见。但我不知道从哪里开始?

C# 是一种编译语言,所以......我该怎么做?我是否会编译所有内容,然后将 apache 挂钩到(单个)可执行文件中并传入请求 URL?我可以请求特定.cs页面,然后让 apache 告诉它编译,然后只有在它被更新时才“显示”它?是否可以单独编译“视图”文件以避免每次发生更改时都必须重新编译所有内容?是否有一些我可以使用的“基础”,或者我将不得不重新发明访问 GET 和 POST 变量(通过读取标题信息)以及我们在 PHP 等语言中认为理所当然的各种其他东西?

4

5 回答 5

3

AFAIK 没有理由你不能在 ASP.NET 核心之上做你想做的事,使用 HttpApplication、HttpHandler 等。例如,你可以将所有 URL 路由到单个 HttpHandler 并从那里手动获取。

我建议看看 ASP.MVC 是如何做到的——在 MonoDevelop 中创建一个新的 ASP.NET MVC 项目,查看 Global.asax.cs,打开 Web.config 并查看它注册的自定义 http 处理程序和模块。ASP.NET MVC 是 OSS,所以你也可以在其中挖掘。

于 2010-06-01T16:54:46.093 回答
1

没有人要求您在 ASPX 页面中添加繁重的代码。(请不要使用 ASP,这是另一回事)。

在 ASP.NET WebForms 模型中,您可以使用代码隐藏模式。

在 ASP.NET MVC 模型中,您几乎可以控制所有方面。

因此,请抽出一些时间并深入研究现有模型。尝试推出自己的产品可能是浪费时间。

Mono 支持这两种型号。

此外,ASP.NET 的设计方式与 PHP 不同,您应该知道,这引入了无法始终满足上述要求的差异。

于 2010-05-30T00:19:12.177 回答
1
  1. 你说的ASP。这是你开始工作的 ASP 或 ASP.NET 页面吗?巨大差距。
  2. 您可以访问 ASP.NET 页面中的请求/响应吗?如果可以,您应该能够访问 GET/POST。
  3. 你知道如何在普通的 IIS/ASP.NET 中构建你正在尝试的东西吗?如果没有,请保持理智,并至少先大致在那里工作。这只是减少您一次使用的变量/未知数的一般建议。
  4. 最终,您正在构建自己的处理程序。我想您将需要一些 dll 来查看对页面 xxx 的请求,读取该页面并实例化支持类。查看asp.net mvc源代码可能会有所帮助(在附加下载下)。
于 2010-05-30T00:20:07.213 回答
1

有许多可用于 ASP .NET MVC 的替代模板语言,请参阅此问题以获取 loooong 列表:ASP.NET MVC 视图引擎比较

于 2010-05-30T00:36:15.953 回答
1

如果您真的完全不喜欢使用 ASP,您可以尝试阅读 ASP 的源代码,看看它们如何实现您需要的功能,例如访问 POST 和 GET 信息、路由、会话管理等。

然而,这将是大量的工作。您可以做的是在 c# 类库中实现绝大多数逻辑,并且只需使用 ASP 来“托管”应用程序,并传递您需要的数据。

于 2010-05-30T00:11:26.043 回答