गतिशील रूप से स्थापित करने के स्पा स्रोत पथ में .नेट कोर 3.1

0

सवाल

मैं एक है .नेट कोर 3.1 आवेदन का उपयोग करें कि मैं के रूप में एक एपीआई, लेकिन यह भी अपने स्पा (कोणीय). के रूप में हाल ही में मैं कर रहा हूँ के साथ कुछ मुद्दों एसईओ तो मैं चाहूँगा की सेवा करने के लिए एक स्थिर संस्करण के कोणीय आवेदन जब Googlebot के आसपास आता है.

यहाँ है के लिए किसी भी तरह गतिशील रूप से सेट के स्पा स्रोत पथ?

app.UseStaticFiles();
app.UseSpaStaticFiles();
app.UseSpa(spa =>
{
    spa.Options.SourcePath = "ClientApp";
});

वर्तमान में मैं एक छोटे फ़ाइल मिडलवेयर, जहां मैं का पता लगाने Googlebot पर आधारित UserAgent स्ट्रिंग. तो मैं कि पास के माध्यम से अनुरोध.

public async Task InvokeAsync(HttpContext context)
{
    var userAgent = context.Request.Headers["User-Agent"];
    context.Items["isCrawler"] = userAgent.Contains("Googlebot");
    await _next(context);
}

लेकिन मैं का उपयोग नहीं कर सकते अनुरोध में कॉन्फ़िगर करें() विधि में स्टार्टअप.cs फ़ाइल । वहाँ वैसे भी है कि कैसे मैं यह काम कर सकते हैं? मैं वास्तव में चाहते हैं करने के लिए सक्षम होना करने के लिए गतिशील रूप से सेट SourcePath.

बहुत बहुत धन्यवाद!

सादर

1

सबसे अच्छा जवाब

-1

आप की कोशिश कर सकते हैं निम्न कोड डाल , मिडलवेयर में विन्यस्त()विधि है ।

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
 
            app.Use(async (context, next) =>
            {
                var userAgent = context.Request.Headers["User-Agent"];
                context.Items["isCrawler"] = userAgent.Contains("Googlebot");
                if ((bool)context.Items["isCrawler"])
                {
                    app.UseSpa(spa =>
                    {
                        spa.Options.SourcePath = "ClientApp";
                    });
                }
                else {
                    //do your stufff....
                }
                // Call the next delegate/middleware in the pipeline
                await next();
            });
     …}
2021-11-25 01:41:49

मैं का उपयोग करें मिडलवेयर वर्ग के एक पकड़ पाने के लिए अनुरोध की तो मैं निर्धारित कर सकते हैं UserAgent. मैं नहीं अभी तक कैसे को खोजने के लिए एप्लिकेशन सेट स्पा सेटिंग्स के अंदर एक मध्यस्थ वर्ग, कि समाधान होगा मेरा मुद्दा है!
Schippert

हाँ, आप सही कर रहे हैं । मैं जानता हूँ कि आप का इस्तेमाल किया है मिडलवेयर वर्ग के एक पकड़ पाने के लिए अनुरोध. मेरा मतलब है आप कर सकते हैं डाल करने के लिए प्रयास मिडलवेयर में विन्यस्त()विधि की तरह, नमूना कोड दस्तावेज़ में प्रयोग किया जाता है प्रदर्शित करने के लिए बनाने के लिए एक मध्यस्थ घटक है । तो आप की जरूरत नहीं करने के लिए एप्लिकेशन सेट स्पा सेटिंग्स के अंदर एक मध्यस्थ वर्ग. बेशक, सेटिंग एप्लिकेशन स्पा सेटिंग्स के अंदर एक मध्यस्थ वर्ग एक और तरीका है.
Qing Guo

अफसोस की बात है मैं नहीं कर सकता यह काम करते हैं. एक बार मैं एक चाल है कि कोड के अंदर मिडलवेयर यह टूट जाता है । वहाँ किसी भी तरह से मैं कैसे की जाँच कर सकते हैं अनुरोध प्रसंस्करण जब कॉन्फ़िगर विधि में स्टार्टअप वर्ग?
Schippert

संपादित मैं अपने जवाब की उम्मीद है, यह आप मदद कर सकते हैं.
Qing Guo

हाँ! यह सही दिशा में जा रहा! का उपयोग कर सशर्त मिडलवेयर चाल करना चाहिए (App.UseWhen). लेकिन वहाँ भी कुछ में ConfigureServices है कि विधि की स्थापना rootpath (AddSpaStaticFiles) है कि शायद कारण है क्यों यह अभी तक नहीं है काम कर रहा है ।
Schippert

है आपकी समस्या का हल किया गया?
Qing Guo

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में