Articles of wcf

Onde armazenar dados para a chamada atual do WCF? O ThreadStatic é seguro?

Enquanto meu serviço é executado, muitas classs precisarão acessar o User.Current (que é minha própria class User). Posso armazenar com segurança o _currentUser em uma variável [ThreadStatic] ? O WCF reutiliza seus threads? Se for esse o caso, quando limpará os dados do ThreadStatic? Se usar o ThreadStatic não for seguro, onde devo colocar esses […]

Como programaticamente conectar um cliente a um serviço WCF?

Eu estou tentando conectar um aplicativo (o cliente) para um serviço WCF exposto, mas não através do arquivo de configuração do aplicativo, mas no código. Como devo fazer isso?

Como a desserialização do WCF instancia objects sem chamar um construtor?

Há alguma mágica acontecendo com a desserialização do WCF. Como ele instancia uma instância do tipo de contrato de dados sem chamar seu construtor? Por exemplo, considere este contrato de dados: [DataContract] public sealed class CreateMe { [DataMember] private readonly string _name; [DataMember] private readonly int _age; private readonly bool _wasConstructorCalled; public CreateMe() { _wasConstructorCalled […]

Qual é a melhor maneira de baixar o arquivo do servidor

Eu tenho uma tarefa interessante que requer que eu baixe um arquivo gerado dinamicamente de um servidor (ASP.NET) para o cliente. No lado do cliente, é apenas JavaScript (jQuery) e o cliente é capaz de gerar muitos parâmetros para personalizar como os dados são exportados. Qual é a melhor maneira de baixar o arquivo do […]

Chamando methods asynchronouss de um serviço WCF

Eu quero chamar methods asynchronouss de um serviço WCF, algo como: [ServiceContract] interface IService { [OperationContract] int SomeMethod(int data); } int SomeMethod(int data) { var query = … build LINQ query; var response = await query.ToListAsync(); return response.Length; } Eu não quero adicionar async à interface IService ou ao método SomeMethod . O uso de […]

Como definir o Json.Net como o serializador padrão para o serviço REST do WCF

É possível replace o comportamento padrão do WCF DataContractSerializer quando Serialize / DeSerialize entidades e usar JSON.NET em vez disso? Eu tenho o seguinte contrato de serviço para lidar com a entidade da cidade. Por motivos de design, a entidade City tem IsReference = true e, portanto, o DataContractSerializer padrão gera erros. Para os methods […]

Lendo input de arquivo de um POST multipart / form-data

Estou postando um arquivo para um serviço WCF REST através de um formulário HTML, com enctype definido como multipart/form-data e um único componente: . O stream resultante sendo lido pelo servidor contém o seguinte: ——WebKitFormBoundary Content-Disposition: form-data; name=”data”; filename=”DSCF0001.JPG” Content-Type: image/jpeg ——WebKitFormBoundary– O problema é que não sei como extrair os bytes de arquivo do […]

Uma referência à dll não pôde ser adicionada

Quando eu adiciono um arquivo .dll como referência no aplicativo C #, ele mostra um erro: Não foi possível adicionar uma referência ao “…. dll”. Verifique se o arquivo está acessível e se é um assembly válido ou um componente COM. ILDissassembler diz que não há nenhum header CLR válido, então eu tento registrá-lo usando […]

Quando usar os atributos DataContract e DataMember?

Estou muito confuso sobre o atributo DataContract no WCF. De acordo com meu conhecimento, ele é usado para serializar tipos definidos pelo usuário como classs. Eu escrevi uma aula que é exposta no lado do cliente assim. [DataContract] public class Contact { [DataMember] public int Roll { get; set; } [DataMember] public string Name { […]

Retornando json (string) em wcf

Eu quero construir meu próprio JSON, e ter o serviço retornar uma string, aqui está o código [OperationContract] [WebInvoke(Method = “POST”, BodyStyle = WebMessageBodyStyle.Bare, ResponseFormat = WebMessageFormat.Json)] public string GetCurrentCart() { //Code ommited string jsonClient = null; var j = new { Content = response.Content, Display=response.Display, SubTotal=response.SubTotal}; var s = new JavaScriptSerializer(); jsonClient = s.Serialize(j); […]