मैं नैन्सी का उपयोग कर एक साधारण वेब एप्लिकेशन लिख रहा हूं। कम से कम एक अनुरोध अज्ञात लंबाई की धारा में परिणाम देता है, इसलिए मैं Content-Length
प्रदान नहीं कर सकता। मैं Transfer-Encoding: chunked
का उपयोग करना चाहता हूं, या (इस मामले में समान रूप से स्वीकार्य, Connection: close
)।मैं नैन्सीएफएक्स में स्ट्रीम आउटपुट कैसे लिखूं?
मेरे पास नैन्सी स्रोत कोड पर एक त्वरित हैक है, और मैंने Response.BufferOutput
और HttpContext.Response.BufferOutput
false
पर सेट करने के लिए कोड जोड़ा है। आप इसे यहां देख सकते हैं:
public class HomeModule : NancyModule
{
public HomeModule()
{
Get["/slow"] = _ => new SlowStreamResponse();
}
private class SlowStreamResponse : Response
{
public SlowStreamResponse()
{
ContentType = "text/plain";
BufferOutput = false;
Contents = s => {
byte[] bytes = Encoding.UTF8.GetBytes("Hello World\n");
for (int i = 0; i < 10; ++i)
{
s.Write(bytes, 0, bytes.Length);
Thread.Sleep(500);
}
};
}
}
ऐसा कोई प्रतीत नहीं होता है। 5 सेकंड के बाद प्रतिक्रिया एक बार में बदल जाती है। मैंने इसे एक साधारण WebRequest
-आधारित क्लाइंट का परीक्षण किया है।
मैं नैन्सी में काम करने के लिए खंडित आउटपुट कैसे प्राप्त करूं? मैं एएसपी.नेट होस्टिंग का उपयोग कर रहा हूं, लेकिन मुझे अन्य होस्टिंग विकल्पों के उत्तर में दिलचस्पी होगी।
अगर मैं HttpListener
का उपयोग कर एक सरल सर्वर लिखते हैं, मैं true
को SendChunked
सेट कर सकते हैं, और यह chunked उत्पादन है, जो मेरी सरल ग्राहक सही ढंग मात्रा में प्राप्त करता है भेजता है।
आपने नैन्सी कोड में HttpContext.Response.BufferOutput कहां सेट किया? और क्या आपको कभी ओविन के साथ काम करने का कोई तरीका मिला? – Hooligancat
मुझे याद नहीं है, क्षमा करें। –
इस प्रश्न पर चिह्नित उत्तर देखें => http://stackoverflow.com/questions/29953301/stream-an-sqlfile-stream-using-nancy – sp3tsnaz