【发布时间】:2012-02-10 20:06:10
【问题描述】:
我是 C# 和 .NET 的新手,我发现自己面临一个问题,我不确定我需要朝哪个方向发展。
我的公司与第三方订阅履行系统合作以实现许多功能,包括计费和续订。该系统具有在触发某些事件时自动发送电子邮件的能力。例如,每个订阅都会经历我们所说的续订系列。本系列包含在订阅的整个生命周期中展开的多项努力。
当订阅符合本系列的某项工作时,我们可以生成一个事件,该事件将导致系统向具有 XML 有效负载的给定 URI 发送 HTTP POST 请求。端点(一个 .aspx 页面)接收请求,对其进行处理,然后返回带有 HTML 代码的响应。该 HTML 然后由履行系统通过电子邮件发送出去。
我创建了一个基本的 Web 应用程序,其中的一些 .aspx 页面启动并运行。每个页面都有一个对应的.cs代码隐藏文件。
这是我的问题真正开始的地方。在我们的履行系统中,我们只能为每个事件和产品组合定义一个端点。因此,无论订阅当时有资格获得哪种努力,事件本身都是相同的。但是,不同的是 HTTP POST 请求的 XML。正是在那个 XML 中,我可以知道该请求是针对哪些工作而生成的。重要的原因是因为相应电子邮件的 HTML 对于每个工作都不同。换一种说法,应该呈现的 HTML 从上到下是不同的,努力 1 与努力 2 不同。努力 2 与努力 3 不同,依此类推。
所以,我想弄清楚的是如何“引导流量”。由于所有这些请求都将到达一个端点,因此我需要为相应的工作动态返回正确的 HTML。
在同一个app的不同.aspx页面中,有一些内容需要根据请求的内容动态生成。在这种情况下,我使用了两个PlaceHolder 控件,一个用于每个可能的文本集。然后,在后面的代码中,根据需要将它们的 Visible 属性设置为 true 或 false。
我很早就打消了在这种情况下这样做的想法,因为有五六个 HTML 模板,并且将它们全部塞入一个页面会很混乱且难以维护。
这就是我不知道下一步该怎么做的地方。我有一种感觉,用户控件或自定义控件将成为要走的路?但是,普通的旧重定向是更好的选择吗?还是以上都没有?
【问题讨论】: