0

我在一个网上商店工作,应该可以订阅一项服务,每月支付 20 美元的费用作为回报。

我在 ac# usercontrol 中制作了一个脚本,将由 umbraco 计划任务命令每月调用:

<task log="true" alias="test60" interval="60" url="http://mysite/umbraco/subscriptionPayment.aspx"/>

为此,我有两个问题。

1)我应该将用户控件放在哪里,以使其对公众无法访问,但可供 umbraco 任务命令访问?脚本只能通过本地服务器命令访问,这一点非常重要。

2)我希望脚本在每次进行交易时记录一个文件。我正在使用以下脚本:

File.AppendAllText("paymentlog.txt",
                   "Transaction "+transactionNumber.ToString() +" sucessfully executed at "+DateTime.Now.ToString() + Environment.NewLine);

我只是不知道应该为 paymentlog.txt 文件提供哪个路径,因为在 umbraco 中处理真实路径对我来说似乎有点晦涩难懂。我希望将 paymentlog.txt 文件放在根 umbraco 文件夹中。我怎么做?

在此先感谢(我正在运行 umbraco 4.8 和 uCommerce 2.6.1)。

最好的问候, Brinck10

4

2 回答 2

0

您可以调用用户服务来验证调用者是否已登录。以下代码将实现:

using UCommerce.Infrastructure;
using UCommerce.Security;

var authService = ObjectFactory.Instance.Resolve<IAuthenticationService>();
if (authService.IsAuthenticated())
{
  // do secure code here
}
于 2013-06-17T08:48:30.800 回答
0

umbraco 中的任务调度程序不是很可靠,这听起来对您的业务至关重要,因此我可能会尝试在您的服务器上使用 Windows 中的内置调度程序来进行处理。

话虽如此。关于将任务调度程序方法标记为更安全一点,您可以使您调用的 URL 只能在 localhost/127.0.0.1 上访问,并在任务配置中使用 localhost 地址。

于 2013-05-30T12:40:53.873 回答