0

私は、見返りに月額 20 ドルのサービスに加入できるようにする Web ショップに取り組んでいます。

umbraco スケジュール タスク コマンドによって毎月呼び出されるスクリプトを ac# usercontrol に作成しました。

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

そのために、2 つの質問があります。

1) 一般ユーザーはアクセスできないが、umbraco タスク コマンドはアクセスできるようにするには、ユーザー コントロールをどこに配置する必要がありますか? スクリプトは、ローカル サーバー コマンドによってのみアクセスできることが非常に重要です。

2) トランザクションが行われるたびに、スクリプトでファイルをログに記録したいと考えています。次のスクリプトを使用しています。

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

umbraco で実際のパスを処理するのはちょっとわかりにくいので、 paymentlog.txt ファイルにどのパスを指定すればよいかわかりません。paymentlog.txt ファイルをルートの umbraco フォルダーに配置したいと考えています。それ、どうやったら出来るの?

前もって感謝します (私は umbraco 4.8 と uCommerce 2.6.1 を実行しています)。

よろしく、 ブリンク10

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 に答える