مقدار پروکسی در launchSettings.json متعلق به یک پروفایل راه‌اندازی توسعه است. انتشار برنامه آن پروفایل را به محیط یک کارگر IIS، سرویس یا کانتینر تبدیل نمی‌کند.

برای یک خطا در محیط مستقر، فرایندی را بررسی کنید که واقعاً برنامه را شروع می‌کند. محیط، حساب و هندلر HTTP آن تعیین می‌کند کدام ورودی‌های پروکسی در دسترس است.

کجا کار می‌کندپس از استقرار چه چیزی را مقایسه کنید
پروفایل راه‌اندازی IDEمحیط فرایند میزبان
نشست تعاملی کاربرحساب سرویس و تنظیمات پروکسی آن
یک کلاینت HTTP که دستی ساخته شدههندلری که کلاینت تزریق‌شده برنامه استفاده می‌کند

مقداردهی اولیه پروکسی پیش‌فرض در HttpClient مدرن قواعد محیطی و پیکربندی سیستمی وابسته به پلتفرم دارد. یک هندلر که صریحاً پیکربندی شده می‌تواند این پیش‌فرض‌ها را بازنویسی کند. با IHttpClientFactory، ثبت هندلر اصلی کلاینت نام‌دار و نامی که در محل فراخوانی بازیابی می‌شود را بررسی کنید. پیش از نتیجه‌گیری درباره نادیده گرفته شدن یک فایل پیکربندی، هر دو ورودی را بررسی کنید.

نمونه‌های قدیمی system.net/defaultProxy در .NET Framework مدل پیکربندی دیگری را توصیف می‌کنند. آن بخش را در یک فایل استقرار مدرن جای نگذارید و فرض نکنید هر پیاده‌سازی HTTP در .NET از آن استفاده می‌کند. در استقرار IIS، ماژول ASP.NET Core نیز سازوکار پشتیبانی‌شده‌ای برای پیکربندی محیط فرایند دارد؛ هنگام افزودن مقادیر، بقیه پیکربندی میزبانی را حفظ کنید.

ثبت کنید که آیا متغیر مورد انتظار وجود دارد، بدون انتشار مقدار کامل آن که حاوی اعتبارنامه است. سپس تأیید کنید کلاینتی که درخواست ناموفق را انجام می‌دهد از آن منبع استفاده می‌کند. یک راه‌انداز درست پیکربندی‌شده نمی‌تواند کلاینتی را که آگاهانه مسیر دیگری را به کار می‌برد اصلاح کند.

مقالات مرتبط