أفضل طريقة لإرجاع سلسلة من HTTPHandler إلى صفحة مشاركات هذا الملف .ashx

StackOverflow https://stackoverflow.com/questions/1202070

سؤال

ولدي HTTPHandler ASP.Net أن يحصل على نشرها من صفحة ويب كولد فيوجن الذي شكل يبدو شيئا مثل:

<form name="sendToHandler" action="http://johnxp/FileServiceDemo2005/UploadHandler.ashx" method="post">
<input type="hidden" name="b64fileName" value="fileservice.asmx.xml" />
<input type="hidden" name="strDocument" value="Document" />
<input type="submit" name="submitbtn"  value="Submit" />

ما هو أفضل وسيلة لهذا صافي معالج لإرجاع سلسلة إلى صفحة كولد فيوجن المشاركة؟

والتحديث تحرير 14 أغسطس 2009:

والحل خطرت لي في ملف .ashx بلدي ينطوي على توفير URL لملف .cfm أن أرسلت لي معالج وإلحاق سلسلة استعلام مواقع المعلومات مع سلسلة النتيجة (ق) التي أريد أن التواصل إلى كولد فيوجن. يستخدم زميلي CF وجود أو عدم وجود هذه البيانات سلسلة استعلام مواقع المعلومات لتنسيق صفحة ويب .cfm فقا لذلك:

public void ProcessRequest(HttpContext context)
    {
        string returnURL = context.Request.ServerVariables["HTTP_REFERER"];  // posting CFM page
        string message = UploadFile(context);    // handles all the work of uploading a file
        StringBuilder msgReturn = new StringBuilder(returnURL);
        msgReturn.Append("?n=");
        msgReturn.Append(HttpUtility.UrlEncode(TRIMrecNumAssigned));
        msgReturn.Append("&m=");  // this is just a msg with performance data about the upload operation (elapsed time, size of file, etc.)
        msgReturn.Append(HttpUtility.UrlEncode(message));
        context.Response.Redirect(msgReturn.ToString());
    }
هل كانت مفيدة؟

المحلول

واكتبوا السلسلة مباشرة إلى كائن استجابة في طريقة ProcessRequest الخاص بك.

public void ProcessRequest(System.Web.HttpContext context)
{
    context.Response.Write(mystring);
}

نصائح أخرى

ويمكنك توليد JSON من معالج HTTP الخاص بك، واستخدام jquery.post لإرسال بيانات النموذج والحصول على النتائج في الصفحة كولد فيوجن.

إذا كنت تريد كولد فيوجن لمعرفة ما يجري عاد، ثم هناك حقا طريقتان للذهاب نحو ذلك.

والأول هو للعودة السلسلة إلى النموذج (على النحو الذي اقترحه womp) ومن ثم التعامل معها من المستعرض، إما عن طريق تقديم نموذج الثانوي أو بعض وسائل أخرى. منذ يبدو كل القيم في شكل يتم توفيرها بدلا من الموفر المستخدم، وهذا ليس ما أود القيام به.

وهناك طريقة ثانية ليكون CF للتعامل مع آخر النموذج نفسه. على افتراض أن القيم التي يتم تمريرها من خلال النموذج الخاص بك متاحة للCF، يمكنك استخدام CFHTTP ب "الوهمية" وظيفة النموذج. ستعاد CF نتيجة مباشرة، وكنت قد تعامل مع الرد من هناك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top