Pergunta

O que é a melhor maneira de criar um serviço web JSON? Nós temos uma outra equipe que está usando Java e eles insistem em ter toda a comunicação feita usando JSON. Eu preferiria usar WCF em vez de qualquer estrutura 3rd party.

Eu encontrei este blog: http://www.west-wind.com /weblog/posts/164419.aspx , e sugere que a implementação da Microsoft é falho com M $ porcaria específico.

Foi útil?

Solução 4

Acabei usando JayRock . Sua fantástica peça de tecnologia, simplesmente funciona. Você não obter qualquer NullReferenceExceptions como a partir desta porcaria WCF se você não configurá-lo corretamente.

Outras dicas

Se você usar WCF eo 3.5 Framework, não poderia ser mais fácil. Quando você marcar seus OperationContracts com o atributo WebGet, apenas definir o parâmetro ResponseFormat para WebMessageFormat.Json. Quando o serviço é acessado tranqüilamente, ele irá retornar os dados usando o DataContractJsonSerializer.

É realmente útil para marcar as POCOs que deseja JSON serialize como [DataContract] e para marcar cada membro serializável como [DataMember]. Caso contrário, você acaba com funk JSON, como Rick apontou em seu blog.

I manter um amadurecer alternativa Open Source para WCF em ServiceStack , um moderno, Code-First, Modelo- impulsionado, WCF estrutura de serviços web de substituição código de incentivar e remota melhores práticas para criação concisa, SECO, de alta perfomance, REST escalável serviços web .

Ele inclui do .NET JSON Serializer mais rápido e tem suporte automático JSON, JSONP , CORS cabeçalhos, bem como forma-urlencoded / concatenada-FormData. As demonstrações online são um bom começo para olhar uma vez que todos eles usam Ajax.

Além disso, não há nenhuma configuração XML, ou o código-gen e seu 'write-once' C serviço # web fornece todas JSON, XML, SOAP, JSV, CSV, HTML endpoints habilitados out-of-the-box, automaticamente com ganchos para ligar o seu próprio tipos de conteúdo se necessário.

Ele também inclui sincronização genérico / clientes de serviços assíncronos proporcionando um rápido, digitado , porta de entrada / comunicação servidor do cliente end-to-end.

Este é o exemplo completo de todo o código necessário para criar um serviço web simples, ou seja automaticamente, sem qualquer configuração, registrado e disponibilizado no todo o formatos de dados web em rotas pré-definidas e personalizado REST ful :

public class Hello {
    public string Name { get; set; }
}

public class HelloResponse {
    public string Result { get; set; }
}

public class HelloService : IService<Hello> {
    public object Execute(Hello request)
    {
        return new HelloResponse { Result = "Hello, " + request.Name };
    }
}

serviço acima pode ser chamado (sem qualquer build-passos / code-gen) em C # com a linha abaixo:

var client = new JsonServiceClient(baseUrl);
var response = client.Send<HelloResponse>(new Hello { Name = "World!" });
Console.WriteLine(response.Result); // => Hello, World

E em jQuery com:

$.getJSON('hello/World!', function(r){ 
    alert(r.Result); 
});

O que é a melhor maneira de criar um serviço web JSON? Temos outra equipe que está usando Java e eles insistem em ter toda a comunicação feito usando JSON. Eu preferiria usar WCF em vez de qualquer parte 3 quadro.

Aqui está um

fácil de seguir passo a passo, o que leva você através do processo de criação de seu primeiro Serviço WCF, em seguida, ligando-o a um banco de dados SQL Server.

http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm

Ele usa o Microsoft amado Adamastor do banco de dados SQL Server, e mostra como escrever um JSON WCF Web Service simples de ler e escrevê-lo de dados.

enter descri&ccedil;&atilde;o da imagem aqui

Oh, e, em seguida, mostra como consumir os dados JSON usando JavaScript ou um aplicativo iOS.

Boa sorte!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top