7

Sto lavorando su un'API e utilizzo dell'API Web ASP.NET per esporlo. Ho provato ad aggiungere un riferimento al servizio Named Piped responsabile dell'autenticazione e dell'autorizzazione, ma non ho potuto fare riferimento al mio codice.Riferimenti Named Pipes che non funzionano con ASP.NET MVC 4

Questo servizio Named Pipe funziona correttamente e viene utilizzato su una vasta gamma di progetti. Questa è la prima volta che proviamo ad usarlo con ASP.NET MVC 4. Funziona molto bene su un altro progetto che utilizza ASP.NET MVC 3.

Come puoi vedere nell'immagine seguente, sono in grado di aggiungi il riferimento del servizio. Ma non è apparso su Object Browser o completamento automatico!

Service References

Quando provo a richiamare tale servizio, semplicemente non compare da nessuna parte.

Code

Sembra essere un problema con ASP.NET MVC 4 progetti e denominate riferimenti servizio Pipes.

Non so davvero se si tratta di un comportamento ben noto/documentato, ma non sono riuscito a trovare nulla di utile correlato a quella domanda su Internet.

È possibile aggiungere un riferimento a tale servizio utilizzando Visual Studio 2012 su qualsiasi tipo di progetto, ad eccezione di quelli di ASP.NET MVC 4. Il problema è specificamente correlato ai progetti ASP.NET MVC 4.

Ho provato ad aggiungere il riferimento utilizzando Visual Studio 2010 e ho avuto lo stesso problema: funziona piuttosto bene con ASP.NET MVC 3 e qualsiasi altro tipo di progetto. Anche in questo caso, il problema è specificamente correlato ai progetti ASP.NET MVC 4.

Qualcuno ha lo stesso problema? Come potrei attraversarlo?

risposta

2

Poiché sembra essere un bug di Visual Studio/ASP.NET MVC, ho appena trovato una soluzione alternativa.

Ho appena scoperto che potrei usare lo strumento da riga di comando svcutil per generare il codice per il client di servizio e le strutture dati. Ecco la sintassi del comando:

> svcutil net.pipe://my_sevice/mex /namespace:"*, MyNamespace" 

ha generato i seguenti file:

  • SecurityService.cs
  • output.config

Poi ho appena importato il SecurityService generato. cs file nel mio progetto corrente e ha fatto unire le configurazioni di binding disponibili sul file output.config generato con il mio web.config.