Publicidade

rafaelsouzab

Atualizando dados para todos usuários em tempo de execução C# Windows Form

Boa noite,

 

Gostaria de tirar uma duvida, detalhe, estou trabalhando com c# e windows form.

tenho um list box que é atualizado através de um timer a cada segundo com informações que são inseridas no banco de dados, vamos supor que um usuário no sistema esta logado, logo quando ele inserir os dados na tabela atualize no listbox do outro usuário, estou fazendo isso por um timer, porem percebi que não é a melhor forma para obter performance na aplicação pois o timer ficara executando a todo momento e isso pode prejudicar a aplicação caso um dia essa tabela venha a ter muitos dados, o que eu gostaria de saber e se tem alguma outra forma mais eficiente e mais fácil de se atualizar automaticamente os dados dessa listbox para o usuário, mesmo que utilize um timer mas que esse timer funcione de forma eficiente.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então eu gostaria de exibir por exemplo uma lista de usuários online no sistema, então toda vez que um usuário sai ou entra no sistema teria que atualizar essa listbox entendeu ? 

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora

  • Próximos Eventos

  • Conteúdo Similar

    • Por Blacksnake
      Olá,
       
      Sou novo na linguagem c# e estou a estudar o novo ef core.
       
      Quando comecei instalei o ef core 1.0.1 agora fiz update para 2.0.0 bem como do vs2015 para o vs2017 comunity.
      Após este update surge-me o seguinte erro:
      System.IO.FileNotFoundException: 'Não foi possível carregar o ficheiro ou assemblagem 'MySqlConnector, Version=0.25.1.0, Culture=neutral, PublicKeyToken=null' ou uma das respectivas dependências. O sistema não conseguiu localizar o ficheiro especificado.'
       
      O meu código é:
      using ERP.Models;
      using ERP.Models.Options;
      using Microsoft.EntityFrameworkCore.Diagnostics;
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.ComponentModel.DataAnnotations;
      using System.ComponentModel.DataAnnotations.Schema;
      using Microsoft.EntityFrameworkCore;
       
      namespace ERP.Datasource
      {
          public class Mycontext: DbContext
          {
              protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
                  => optionsBuilder
                      .UseMySql(@"Server=localhost;database=ef;uid=root;pwd=******;")
                      .ConfigureWarnings(warnings => warnings.Throw(RelationalEventId.QueryClientEvaluationWarning));
       
       
              public DbSet<User> User { get; set; }
              public DbSet<Entity> Entities { get; set; }
              public DbSet<Infoapp> Infoapp { get; set; }
              public DbSet<CountryCoin> CountryCoin { get; set; }
       
          }
      }
    • Por gilmar.silva
      boa tarde, por favor, 
          
          Poderiam me auxiliar ?
       
          Já utilizo o mesmo algoritimo para envio da nota fiscal eletrônica dos estados e para as notas fiscais eletrônicas municipais, porém
          ao enviar para EFD-REINF ocorre o erro : O servidor remoto retornou um erro: (400) Solicitação Incorreta.
       
          1. Já esta liberada a chamada sem solicitação do proxy;
          2. Meu IP já esta liberado para qualquer conexão com a internet;
          3. Já fiz a instação da cadeia de certificados do link https://certificados.serpro.gov.br/serproacf/certificate-chain e meu certificado é válido;
       
                      var url = "https://preprodefdreinf.receita.fazenda.gov.br/RecepcaoLoteReinf.svc?WSDL";
                      Uri uri = new Uri(url);                
                      WebRequest webRequest = WebRequest.Create(url);
                      HttpWebRequest httpWR = (HttpWebRequest)webRequest;
                      httpWR.ClientCertificates.Add(certificado);
                      httpWR.Method = "POST";
                      httpWR.ProtocolVersion = HttpVersion.Version11;
                      httpWR.Credentials = CredentialCache.DefaultCredentials;
                      httpWR.Proxy = WebRequest.DefaultWebProxy;
                      httpWR.ContentType = "text/xml; charset=utf-8";
                      Stream reqStream = httpWR.GetRequestStream();
                      StreamWriter streamWriter = new StreamWriter(reqStream);
                      streamWriter.Write(xmlSoapEnvelopado);
                      streamWriter.Close();
                      ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Ssl3;
                      WebResponse webResponse = httpWR.GetResponse();
                      Stream respStream = webResponse.GetResponseStream();
                      StreamReader streamReader = new StreamReader(respStream);
                      XMLRetorno = streamReader.ReadToEnd();        
      grato.
    • Por Marceloj
      Bom dia.
      Estou desenvolvendo uma aplicação ASP.NET MVC utilizando o migrations para criação das tabelas e relacionamentos.
      Porém cheguei numa etapa do projeto que preciso lê uma informação que está em em tabela em outra base de dados, ou seja, não está na mesma base que estou trabalhando.
       
      Pensei em fazer isso criando uma view e chamando ela no meu projeto, porém não sei como fazer isso pelo migrations.
       
      Esta seria a melhor opção mesmo, ou existe outra forma de resolver?
       
      Se puderem colocar um exemplo de como fazer, agradeço.
       
      Obrigado.
    • Por DenilsonCarlos
      Tenho  lista que vem do banco de dados, uma de técnico e outra de fornecedores. Não estou conseguindo pegar da View e passar para o Controller. E como receber esta lista na controller
       
       
      Segue o codigo:
      Controller passar a lista para a view como ViewBag
       
      var listaTecnicos = new BLL.Tecnico.TecnicoListar().ListarTecnicosProduto(); ViewBag.listaTecnicos = listaTecnicos; View Técnico           HTML
       
      <table width="100%" class="table table-striped"> <thead> <tr> <th>Cód.</th> <th>Técnico</th> <th>Quantidade</th> <th>Observação</th> </tr> </thead> <tbody> @{ var cont = 0; for (int i = 0; i < ViewBag.listaTecnicos.Count; i++) { <tr class=".itemTecnico"> <td class="idTecnico">@ViewBag.listaTecnicos[i].ID_Tecnico</td> <td>@ViewBag.listaTecnicos[i].Nome</td> <td width="100px">@Html.TextBoxFor(model => model.QtdProdutoTecnico, new { id = "qtdProduto_" + cont, @class = "money2 form-control somarProdutoTecnico", maxlength = "5", @placeholder = "00,00" })</td> <td>@Html.TextBoxFor(model => model.ObsProdutoTecnico, new { @class = "form-control" })</td> </tr> cont++; } } </tbody> </table>  
       
      javaScript   JQuery
       
       $('#btnSalvarTecnicos').click(function () {
          var arrayTecnicos = $('.itemTecnico');
          var idDoTecnico = new Array();
          var qtdDoTecnico = new Array();
          var obsDoTecncio = new Array();
          var todos_tecnicos = new Array();
          function pegarosTecnicos() {
              for (var i = 0; i < arrayTecnicos.length; i++) {
                  todos_tecnicos = {
                      idDoTecnico : $('.idTecnico').val(),
                      qtdDoTecnico : $('.somarProdutoTecnico').val(),
                      obsDoTecncio : $('.ObsTecnico').val()
                  };
              };

          };

          $.ajax({
              url: '@Url.Action("SalvarTecnicos")', // to get the right path to controller from TableRoutes of Asp.Net MVC
              dataType: "json", //to work with json format
              type: "POST", //to do a post request
              contentType: 'application/json; charset=utf-8', //define a contentType of your request
              cache: false, //avoid caching results
              data: JSON.stringify(todos_tecnicos), // passar os parametros
              success: function (data) {

              },
              error: function (xhr) {
                  alert("Erro! ao Salvar os com os tecnicos, Favor Entrar em Contato com O Suporte.");
              }

          });
       
      });