It is currently 7 March 2026, 8:23 Advanced search

DLL C# per webAPI errore strano con InDe

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

DLL C# per webAPI errore strano con InDe

Postby d.termini » 1 July 2025, 7:33

Ho una DLL che si interfaccia a delle webAPI OData, ho dovuto fare così perché ci sono problemi col certificato e da InDe mi rifiuta le chiamate oltre a gestire meglio i cookie di sessione.

La DLL maschera l'intero iter, io passo le credenziali, chiamo la funzione corrispondente all'API da interrogare e mi restituisce un json, quindi non c'è niente di strano fatto da InDe.

Se testo la DLL con un programmino fatto in windows forms funziona correttamente.
Se invece richiamo da InDe con gli stessi dati ottengo un errore 500 del server remoto.
In entrambi i casi il contenuto viene composto dalla DLL e contiene un json con le credenziali passate precedentemente, quindi non ha senso questa differenza.
Ci sono 3 differenze che sono riuscito a notare (marchiate in rosso nell'immagine allegata), e non capisco a cosa siano dovute.

InDe provato sia con Cassini che con IIS stesso risultato.
App c# .net 4.x

Qualcuno ha riscontrato problemi simili?

httpwebrequest_diff.png
httpwebrequest_diff.png (118.82 KiB) Viewed 924 times
d.termini
 
Posts: 1874
Joined: 13 November 2017, 8:41

Re: DLL C# per webAPI errore strano con InDe

Postby d.termini » 17 July 2025, 9:43

Questo problema l'abbiamo risolto in assistenza: sostanzialmente pare che chiamando da Web o da Windows Forms cambi qualcosa a livello di default che normalmente non c'è la necessità di toccare.
Il server che stiamo contattando probabilmente è configurato in modo particolare e non accettava l'header "Expect: 100-continue", che abbiamo disattivato tramite
Code: Select all
ServicePointManager.Expect100Continue = false;

EDIT:

Aggiungo inoltre che per la gestione del cookie ho dovuto forzare il dominio, altrimenti DA WEB non funzionava (probabilmente un'altra delle cose che cambiava di default), e ho preferito aggiungere l'intera collection di cookie restituiti dalla procedura di login e non solo quello specifico di sessione:
Code: Select all
request.CookieContainer.Add(new System.Uri(endpoint), cookies);
d.termini
 
Posts: 1874
Joined: 13 November 2017, 8:41


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: No registered users and 42 guests

cron