أفضل طريقة لإرجاع سلسلة من HTTPHandler إلى صفحة مشاركات هذا الملف .ashx
-
05-07-2019 - |
سؤال
ولدي 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 نتيجة مباشرة، وكنت قد تعامل مع الرد من هناك.