ASP.NET Core ਪ੍ਰਾਕਸੀ ਸੈਟਿੰਗਾਂ: launchSettings.json ਬਨਾਮ ਉਤਪਾਦਨ
ਵਿਕਾਸ ਲਾਂਚ-ਪ੍ਰੋਫਾਈਲ ਦੇ ਪ੍ਰਾਕਸੀ ਮੁੱਲਾਂ ਨੂੰ ਤੈਨਾਤ ASP.NET Core ਪ੍ਰਕਿਰਿਆ ਵੱਲੋਂ ਵਰਤੇ ਜਾਂਦੇ ਵਾਤਾਵਰਣ ਅਤੇ HTTP ਹੈਂਡਲਰ ਤੋਂ ਵੱਖ ਕਰੋ।
launchSettings.json ਵਿੱਚਲਾ ਪ੍ਰਾਕਸੀ ਮੁੱਲ ਵਿਕਾਸ ਲਾਂਚ ਪ੍ਰੋਫਾਈਲ ਦਾ ਹੈ। ਐਪਲੀਕੇਸ਼ਨ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਨ ਨਾਲ ਉਹ ਪ੍ਰੋਫਾਈਲ IIS ਵਰਕਰ, ਸੇਵਾ ਜਾਂ ਕੰਟੇਨਰ ਦਾ ਵਾਤਾਵਰਣ ਨਹੀਂ ਬਣਦਾ।
ਤੈਨਾਤ ਵਾਤਾਵਰਣ ਵਿੱਚ ਅਸਫਲਤਾ ਲਈ, ਉਸ ਪ੍ਰਕਿਰਿਆ ਦੀ ਜਾਂਚ ਕਰੋ ਜੋ ਅਸਲ ਵਿੱਚ ਐਪਲੀਕੇਸ਼ਨ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ। ਉਸ ਦਾ ਵਾਤਾਵਰਣ, ਖਾਤਾ ਅਤੇ HTTP ਹੈਂਡਲਰ ਤੈਅ ਕਰਦੇ ਹਨ ਕਿ ਕਿਹੜੇ ਪ੍ਰਾਕਸੀ ਇਨਪੁਟ ਉਪਲਬਧ ਹਨ।
| ਕਿੱਥੇ ਕੰਮ ਕਰਦਾ ਹੈ | ਤੈਨਾਤੀ ਤੋਂ ਬਾਅਦ ਕੀ ਤੁਲਨਾ ਕਰਨੀ ਹੈ |
|---|---|
| IDE ਲਾਂਚ ਪ੍ਰੋਫਾਈਲ | ਹੋਸਟ ਪ੍ਰਕਿਰਿਆ ਦਾ ਵਾਤਾਵਰਣ |
| ਇੰਟਰੈਕਟਿਵ ਉਪਭੋਗਤਾ ਸੈਸ਼ਨ | ਸੇਵਾ ਖਾਤਾ ਅਤੇ ਉਸ ਦੀਆਂ ਪ੍ਰਾਕਸੀ ਸੈਟਿੰਗਾਂ |
| ਹੱਥੀਂ ਬਣਾਇਆ HTTP ਕਲਾਇੰਟ | ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਇੰਜੈਕਟ ਕੀਤੇ ਕਲਾਇੰਟ ਵੱਲੋਂ ਵਰਤਿਆ ਹੈਂਡਲਰ |
ਆਧੁਨਿਕ HttpClient ਦੀ ਡਿਫਾਲਟ ਪ੍ਰਾਕਸੀ ਸ਼ੁਰੂਆਤ ਵਿੱਚ ਪਲੇਟਫਾਰਮ-ਖਾਸ ਵਾਤਾਵਰਣ ਅਤੇ ਸਿਸਟਮ-ਕਨਫਿਗਰੇਸ਼ਨ ਨਿਯਮ ਹਨ। ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਕਨਫਿਗਰ ਕੀਤਾ ਹੈਂਡਲਰ ਉਹਨਾਂ ਡਿਫਾਲਟਾਂ ਨੂੰ ਓਵਰਰਾਈਡ ਕਰ ਸਕਦਾ ਹੈ। IHttpClientFactory ਨਾਲ, ਨਾਮਿਤ ਕਲਾਇੰਟ ਦੀ ਪ੍ਰਾਇਮਰੀ ਹੈਂਡਲਰ ਰਜਿਸਟਰੇਸ਼ਨ ਅਤੇ ਕਾਲ ਸਥਾਨ 'ਤੇ ਲਿਆ ਨਾਮ ਜਾਂਚੋ। ਇਹ ਸਿੱਟਾ ਕੱਢਣ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਕਨਫਿਗਰੇਸ਼ਨ ਫਾਈਲ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ ਗਿਆ, ਦੋਵੇਂ ਇਨਪੁਟ ਜਾਂਚੋ।
.NET Framework ਦੀਆਂ ਪੁਰਾਣੀਆਂ system.net/defaultProxy ਉਦਾਹਰਣਾਂ ਹੋਰ ਕਨਫਿਗਰੇਸ਼ਨ ਮਾਡਲ ਦੱਸਦੀਆਂ ਹਨ। ਉਹ ਭਾਗ ਆਧੁਨਿਕ ਤੈਨਾਤੀ ਫਾਈਲ ਵਿੱਚ ਨਾ ਪੇਸਟ ਕਰੋ ਅਤੇ ਇਹ ਨਾ ਮੰਨੋ ਕਿ ਹਰ .NET HTTP ਲਾਗੂਆਂ ਇਸਨੂੰ ਵਰਤਦਾ ਹੈ। IIS ਤੈਨਾਤੀ ਵਿੱਚ, ASP.NET Core ਮੌਡਿਊਲ ਕੋਲ ਵੀ ਪ੍ਰਕਿਰਿਆ-ਵਾਤਾਵਰਣ ਕਨਫਿਗਰੇਸ਼ਨ ਦਾ ਸਮਰਥਿਤ ਤੰਤਰ ਹੈ; ਮੁੱਲ ਜੋੜਦੇ ਸਮੇਂ ਬਾਕੀ ਹੋਸਟਿੰਗ ਕਨਫਿਗਰੇਸ਼ਨ ਸੰਭਾਲੋ।
ਲੋੜੀਂਦਾ ਵੇਰੀਏਬਲ ਮੌਜੂਦ ਹੈ ਜਾਂ ਨਹੀਂ ਇਹ ਦਰਜ ਕਰੋ, ਪਰ ਇਸ ਦਾ ਪੂਰਾ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਵਾਲਾ ਮੁੱਲ ਪ੍ਰਕਾਸ਼ਿਤ ਨਾ ਕਰੋ। ਫਿਰ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਅਸਫਲ ਬੇਨਤੀ ਕਰਨ ਵਾਲਾ ਕਲਾਇੰਟ ਉਸ ਸਰੋਤ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਸਹੀ ਢੰਗ ਨਾਲ ਕਨਫਿਗਰ ਕੀਤਾ ਲਾਂਚਰ ਜਾਣ-ਬੁੱਝ ਕੇ ਹੋਰ ਰਸਤਾ ਵਰਤਣ ਵਾਲੇ ਕਲਾਇੰਟ ਨੂੰ ਠੀਕ ਨਹੀਂ ਕਰ ਸਕਦਾ।