मुझे यकीन नहीं है कि मैं क्या याद कर रहा हूं, लेकिन मेरी कोर नीति को .NET कोर 3.1 और कोणीय 8 क्लाइंट-साइड के साथ काम करना नहीं मिल सकता है।
Startup.cs
:
public void ConfigureServices(IServiceCollection services)
{
// ...
// Add CORS policy
services.AddCors(options =>
{
options.AddPolicy("foo",
builder =>
{
// Not a permanent solution, but just trying to isolate the problem
builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();
});
});
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseHttpsRedirection();
// Use the CORS policy
app.UseCors("foo");
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
त्रुटि संदेश क्लाइंट-साइड:
Access to XMLHttpRequest at 'https://localhost:8082/api/auth/' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
अपडेट करें:
हालाँकि, मैं गलत तरीके से कॉर्स को कॉन्फ़िगर कर रहा था (और नीचे दिए गए स्वीकृत उत्तर ने वास्तव में उसी की मदद की थी) मुद्दे की जड़ असंबंधित थी। अतिरिक्त संदर्भ के लिए, एप्लिकेशन पूरी तरह से ठीक काम कर रहा था जब सीएलआई का उपयोग करके एपीआई और कोणीय ऐप चला रहा था - मैं केवल उन दोनों को एक वेब सर्वर पर तैनात करने के बाद यह समस्या आ रही थी।
"वास्तविक" मुद्दा समाप्त हो गया SQL कनेक्शन है, जो मैं केवल एपीआई के फ्लैट फ़ाइल त्रुटि लॉगिंग जोड़ने और एक एसक्यूएल सर्वर ट्रेस चल लगता है कि एप्लिकेशन को सभी पर एसक्यूएल से कनेक्ट करने में सक्षम नहीं था के बाद की खोज की से संबंधित जा रहा है।
मैं आमतौर पर यह उम्मीद करूंगा कि यह केवल 500 वापस कर देगा और मुझे 10 सेकंड के मामले में समस्या का एहसास होगा - हालांकि कॉर्स गलत कॉन्फ़िगरेशन का मतलब था कि 500 वास्तव में कभी नहीं लौटाए गए क्योंकि कॉर्स मिडलवेयर पहले विफल हो गया। यह पूरी तरह से कम से कम कहने के लिए बहुत निराशाजनक था! । हालाँकि, मैं यह जोड़ना चाहता हूं कि अगर कोई ऐसा करेगा तो मैं खुद को इस स्थिति में पा लूंगा। कॉर्स कॉन्फ़िगरेशन को ठीक करने के बाद, मुझे एहसास हुआ कि वास्तविक मुद्दा पूरी तरह से कॉर्स से असंबंधित था।
टी एल; डॉ; - कभी-कभी "नॉन-कॉर्स" .NET सर्वर-साइड एरर को कॉर्स एरर्स के रूप में लौटाया जा सकता है, यदि कॉर्स पॉलिसी सही तरीके से सेट नहीं होती हैं
संदर्भ:
https://medium.com/swlh/cors-headers-with-dot-net-core-3-5c9dfc664785
app.UseCors("foo");
पहले सेट करने की कोशिश करेंapp.UseHttpsRedirection();