0

申し訳ありませんが、タイトルの専門家、私はより良い方法を考えることができませんでした.

以下のコードは最大 20 個のリンクを受け取り、コンポーネントを使用してそれらの 20 個のリンクをドキュメントに変換し、これらのドキュメントを 1 つの Adob​​e PDF ファイルに保存します。

渡す値が 10 未満の場合に機能します。それを超えると、アプリが壊れます。

コードが壊れている理由は、実行に時間がかかりすぎるためであることが判明しました。

asp.net (c# または vb.net) で、アプリを中断せずに長く実行するように構成する方法はありますか?

これはiis側で行われますか?

はいの場合、誰かが私を正しい方向に向けることができますか?

私が知っていることの1つは、より大きなサイズを受け入れるように設定するiisメタベースですが、実行に時間がかかりすぎてもアプリが壊れないようにするために、以下のコードをどうすればよいかわかりません。

using System;
using System.Collections.Generic;
using System.Text;
using EO.Pdf;
using System.Collections.Specialized;
using EO.Web;

partial class getRecs : System.Web.UI.Page
{
    private void  // ERROR: Handles clauses are not supported in C#
Page_Load(object sender, System.EventArgs e)
    {

        if (!Page.IsPostBack) {
            string linksList = Request.QueryString("pid");
            string[] AllLinks = linksList.Split(",");

            //Create a PdfDocument object
            PdfDocument doc = new PdfDocument();

            string links = null;

            foreach ( links in AllLinks) {

                HtmlToPdf.ConvertUrl(url, doc);
            }

            doc.Save(Response.OutputStream);

        }
    }

}

ご協力いただきありがとうございます。

4

1 に答える 1

1

プロセスが生成された PDfs でクライアントに応答するのに時間がかかりすぎるため、リクエストのタイムアウトに問題があるようです。Web.config で要求タイムアウト設定を増やすことができます。

<configuration>
  <system.web>
  <httpRuntime 
    executionTimeout="1000"/>
  </system.web>
</configuration>

executionTimeout は秒単位で設定されます。必要に応じて調整してください。これは、コンパイル要素でdebugフラグが設定されている場合にのみ適用されます。false

MSDNドキュメントへのリンク。

于 2012-08-09T21:00:19.213 に答える