Dynamically การตั้งค่าสปาแหล่งข่าวทางในนี้อข่ายนอกจากแกนดา 3.1

0

คำถาม

ฉันมี.อข่ายนอกจากแกนดา 3.1 องโปรแกรมที่ผมใช้เป็นรูปแบบ api แต่มันก็ยังสของฉันสปา(อั). เป็นของเมื่อเร็วๆนี้ฉันมีปัญหาเรื่องกับซอดังนั้นฉันอยากจะรับใช้เป็นรูปแบบเวอร์ชั่นของฉันสี่เหลี่ยมโปรแกรมตอนที่ Googlebot มาแถวนี้

ที่นี่มีทางที่จะ dynamically ตั้งค่าแหล่งข่าวสปาเส้นทาง?

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

ตอนนี้ฉันต้องเล็กๆ middleware แฟ้มที่ฉันตรวจจับ Googlebot ดูจาก UserAgent องข้อความ งั้นฉันผ่านมันผ่านอยากขอให้ช่วยอะไรหน่อย

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

แต่ฉันไม่สามารถเข้าถึงสิ่งที่ร้องขอมาต้องการในปรับแต่ง()วิธีการอยู่ในเมื่อเริ่มโปรแกรมà™àà§à•à£àà™แฟ้ม มีอย่างฉันสามารถทำให้มันทำงาน? ฉันต้องการที่จะสามารถที่จะ dynamically ตั้ง SourcePath.

ขอบคุณมาก!

ฝากฝัง

1

คำตอบที่ดีที่สุด

-1

คุณสามารถลองทำตามรหัสเอาค middleware อยู่ในปรับแต่ง()วิธีการ.

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

ฉันใช้ Middleware เรียนได้สิ่งที่ร้องขอมาต้องการดังนั้นฉันสามารถกำหน UserAgent. ฉันยังหาวิธีที่จะตั้งค่าโปรแกรมเกี่ยวปากการตั้งค่าภายในของ middleware ชั้นเรียนนั่นจะแก้ปัญหาของฉั!
Schippert

ใช่เธอพูดถูก ฉันรู้ว่าคุณต้องใช้ Middleware ชั้นเรียนต้องไปเอาของที่อยากขอให้ช่วยอะไรหน่อย ฉันหมายความว่าคุณสามารถพยายามที่จะเอา middleware อยู่ในปรับแต่ง()วิธีการเหมือนตัวอย่างรหัสอยู่ในเอกสารที่ใช้แสดงให้เห็สร้าง middleware ส่วนประกอบ. แล้วเธอไม่จำเป็นต้องเพื่อตั้งค่าโปรแกรมเกี่ยวปากการตั้งค่าภายในของ middleware ห้องเรียน แน่นอนการตั้งค่าโปรแกรมเกี่ยวปากการตั้งค่าภายในของ middleware เรียนเป็นอีกทางหนึ่ง
Qing Guo

น่าเศร้าฉันไม่สามารถทำให้มันทำงานแล้ว เมื่อฉันเลื่อนรหัสในของ Middleware มันรั่ว มีทางไหนไหมว่าฉันจะตรวจสอสิ่งที่ร้องขอมาต้องการตอนที่กำลังประมวลผลการปรับแต่งวิธีการอยู่ในเมื่อเริ่มการทำงานชั้นเรียน?
Schippert

ฉันแก้ไขคำตอบของฉันหวังว่ามันสามารถช่วยคุณ
Qing Guo

ใช่เลย! มันกำลังทิศทางที่ถูกต้อ! ใช้เงื่อนไขเซล middleware ควรจะทำอย่างที่หลอก(แอพUseWhen). แต่มันก็มีบางสิ่งที่อยู่ใน ConfigureServices วิธีการนั่นเป็นการตั้งค่าที่ rootpath(AddSpaStaticFiles)ซึ่งบางทีสาเหตุว่าทำไมมันตอนนี้ยังไม่ได้ทำงานอยู่
Schippert

มีปัญหาของคุณถูกแก้ไข?
Qing Guo

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่