Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VB.NET] Output in formato JSON usando WCF

    ciao!

    sto facendo qualche test su WCF giust per capirne il funzionamento.
    ho creato un progetto, e sto cercando di mandare l'output in formato JSON.
    ho visto che dovrei configurare l'App.config con webHttp:
    codice:
    <behaviors>
          <serviceBehaviors>
            <behavior>
              <!-- Per evitare la diffusione di informazioni sui metadati, 
              impostare i valori seguenti su false prima della distribuzione -->
              <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>
              <!-- Per ricevere i dettagli sull'eccezione per scopi di debug in caso di guasti, 
              impostare il valore riportato sotto su true. Impostarlo su false prima della diffusione 
              per evitare di diffondere informazioni sull'eccezione -->
              <serviceDebug includeExceptionDetailInFaults="False" />
              <webHttp />
            </behavior>
          </serviceBehaviors>
        </behaviors>
    ma ottento sempre un errore:
    codice:
    System.Configuration.ConfigurationErrorsException: Impossibile aggiungere l'estensione di comportamento 'webHttp' al comportamento del servizio con nome '' perché il tipo del comportamento sottostante non implementa l'interfaccia IServiceBehavior. (C:\VS_Proj\WcfServiceLibrary1\WcfServiceLibrary1\bin\Debug\WcfServiceLibrary1.dll.config line 48)
       in System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
       in System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
       in System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
       in System.Configuration.ContextInformation.GetSection(String sectionName)
       in System.ServiceModel.Configuration.ConfigurationHelpers.UnsafeGetSectionFromContext(ContextInformation evalContext, String sectionPath)
       in System.ServiceModel.Configuration.ConfigurationHelpers.UnsafeGetAssociatedSection(ContextInformation evalContext, String sectionPath)
       in System.ServiceModel.Configuration.BehaviorsSection.UnsafeGetAssociatedSection(ContextInformation evalContext)
       in System.ServiceModel.Description.ConfigLoader.LookupServiceBehaviors(String behaviorName, ContextInformation context)
       in System.ServiceModel.Description.ConfigLoader.LoadServiceDescription(ServiceHostBase host, ServiceDescription description, ServiceElement serviceElement, Action`1 addBaseAddress, Boolean skipHost)
       in System.ServiceModel.ServiceHostBase.LoadConfigurationSectionInternal(ConfigLoader configLoader, ServiceDescription description, ServiceElement serviceSection)
       in System.ServiceModel.ServiceHostBase.ApplyConfiguration()
       in System.ServiceModel.ServiceHostBase.InitializeDescription(UriSchemeKeyedCollection baseAddresses)
       in System.ServiceModel.ServiceHost..ctor(Type serviceType, Uri[] baseAddresses)
       in Microsoft.Tools.SvcHost.ServiceHostHelper.CreateServiceHost(Type type, ServiceKind kind)
       in Microsoft.Tools.SvcHost.ServiceHostHelper.OpenService(ServiceInfo info)
    dove sto sbagliando??

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Come sono configurati i bindings?
    Posta anche il resto della configurazione.

    La complessità esagerata con cui si configurano i servizi WCF mi ricorda sempre perché li detesto e preferisco sempre altro al loro posto.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    ciao alka!

    ecco il mio app.config:
    codice:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    
      <appSettings>
        <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
      </appSettings>
      <system.web>
        <compilation debug="true" />
      </system.web>
      <!-- Quando si distribuisce il progetto della libreria di servizi, è necessario aggiungere il contenuto del file di configurazione al file 
      app.config dell'host. System.Configuration non supporta i file di configurazione delle librerie. -->
      <system.serviceModel>
        <services>
          <service name="WcfServiceLibrary1.Service1">
            <host>
              <baseAddresses>
                <add baseAddress = "http://localhost:8733/Design_Time_Addresses/WcfServiceLibrary1/Service1/" />
              </baseAddresses>
            </host>
            <!-- Service Endpoints -->
            <!-- Se non è completamente qualificato, l'indirizzo è relativo all'indirizzo di base fornito sopra -->
            <endpoint address="" binding="webHttpBinding" contract="WcfServiceLibrary1.IService1">
              <!-- 
                  Durante la distribuzione è necessario rimuovere o sostituire l'elemento Identity seguente in modo 
                  che rispecchi l'identità con cui viene eseguito il servizio distribuito. Se viene rimosso, WCF dedurrà 
                   automaticamente un'identità appropriata.
              -->
              <identity>
                <dns value="localhost"/>
              </identity>
            </endpoint>
            <!-- Metadata Endpoints -->
            <!-- L'endpoint di scambio metadati viene utilizzato dal servizio per offrire una migliore visualizzazione ai client. --> 
            <!-- L'endpoint non utilizza un'associazione protetta e deve essere protetto o rimosso prima della distribuzione -->
            <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior>
              <!-- Per evitare la diffusione di informazioni sui metadati, 
              impostare i valori seguenti su false prima della distribuzione -->
              <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>
              <!-- Per ricevere i dettagli sull'eccezione per scopi di debug in caso di guasti, 
              impostare il valore riportato sotto su true. Impostarlo su false prima della diffusione 
              per evitare di diffondere informazioni sull'eccezione -->
              <serviceDebug includeExceptionDetailInFaults="False" />
              <webHttp />
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>
    
    </configuration>
    La complessità esagerata con cui si configurano i servizi WCF mi ricorda sempre perché li detesto e preferisco sempre altro al loro posto.
    ad esempio??
    giusto per curiosità.

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Quote Originariamente inviata da fermat Visualizza il messaggio
    ad esempio??
    giusto per curiosità.
    Banalmente, ASP.NET MVC Web API oppure ASP.NET Core.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Quote Originariamente inviata da alka Visualizza il messaggio
    Banalmente, ASP.NET MVC Web API oppure ASP.NET Core.
    in effetti ho creato un progetto .NET Core / Api, e mi ci è voluto molto meno

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.