Şimdi Ara

c# ta arka planda taskler çalışırken winformu aktif olarak kullanabilmek

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
13
Cevap
0
Favori
1.290
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • merhaba,

    mesela bir pencerede başlat düğmesine basınca, çeşitli taskler kanallar çalışsın arka planda ve cancel etmek istediğimde de cancel butonuna basabiliyim. çünkü arka planda kanallar çalışırken pencere kitleniyor. penceredeki butonları click leyebilirim.



  • Uygulamani farkli thread lere bolmen lazm. Dedigin i yeni islem yeni bir thread le baslasinki asil threadi mesgul etmesin

    < Bu ileti mini sürüm kullanılarak atıldı >
  • bekoc kullanıcısına yanıt
    main thread var ve ek olarak 3 ek thread var. ama yine de taskleri iptal etmek için cancel butonuna basamıyorum...
  • birden fazla thread aynı eventi dinliyor ve birbiriyle çakışıyor olabilir mi, mutex kullandın mı?
  • Dracos D kullanıcısına yanıt
    programın bir noktasında, main thread meşgul olmuş, farkında değildim. onu başka bir task e atayınca sorun düzeldi. cevap için teşekkürler.
  • Dracos D kullanıcısına yanıt
    bu seferde şöle bi sıkıntı oldu, cancel butonu taskleri iptal etmiyor. halbuki event raise ile iptal edebiliyorum fakat cancel ile edemiyorum.hatta task lerde kullandığım ve metoddan metoda aktardığım token ve tokensource nesnelerini ref ile aktardım yine de çözüm olmadı. neden ki???

    tamam önce token a true aktaramıyordum this.token yerine token yazınca düzeldi şimdi de cancel ettikten sonra işlem duruyor fakat kalan işleme devam etmiyor nedense:) bu çok kanal uygulamaları yapmak zormuş.



    < Bu mesaj bu kişi tarafından değiştirildi cinfis -- 16 Temmuz 2014; 16:21:01 >
  • alışınca çok rahattır ya multithreading, sen bir de fork muhabbetini görsen yani kafayı yersin tonlarca orphan child kalır farkında bile olmazsın, kodunu görmediğim için nerede hatan olduğunu da söyleyemiyorum malum cancel etme dediğin işlemi durdurup aynı thread üzerinden tekrar iş yaptırmaya çalışmak mı yoksa main thread mi çakılıyor?
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • Dracos D kullanıcısına yanıt
    valla alışmak zaman alıcak gibi.

    iş akışını sağlamak için wait() diordum sonra alt taskleri başlatan task için de wait demişim taskın tetiklediği sınıf içerisinde. sıkıntı buymuş. wait i tamamen kaldırdım ana task için. sorun şimdilik düzeldi. bakalım bundan sonra ne sürpriz yapacak bu çok kanallılık:) sanırım multithread mevzusu program başlangıcında belli bir tasarım gerektiriyor sonradan fazla sorun çıkmaması için.o da tecrübeyle olacak bi iş galiba.
  • Dracos D kullanıcısına yanıt
    mvc yi bilio musun? bişi sorucam da?
  • biliyorum, sor bakalım
  • Dracos D kullanıcısına yanıt
    teşekkür ederim...

    ya şöle bişi var bi türlü hatanın nerde olduğunu anlayamadım google ın da altını üstünü getirdim ama cevap bulamadım.Şöle ki;

    MVC'de renderaction ile render etmek istediğim bir partial view'de, controller'dan gönderilen koleksiyon, ilgili view'de tanımlanamıyor ve hata veriyor, strongly typed olarak da görülmüyor doğal olarak. Yani model diorum foreach ile dönmesi için ama model tanımlı değil gibisinden bi uyarı veriyor(halbuki view in üst tarafına model tanımladım) debug yapınca da aşağıdaki hatayı alıyorum. Sebebi ne olabilir?

    şu hatayı veriyor.

    Additional information: 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper' işleyicisi için alt isteği yürütme hatası.

    index şu;

    @model deneme.Models.BO.POCO.PersonDataPoco

    @{

    Layout = "~/Views/Shared/_Layout.cshtml";

    }
    @{
    ViewBag.Title = "Indexyeni";
    }
    <h2>Indexyeni</h2>
    <div>

    @using (Html.BeginForm())
    {
    @Html.ValidationSummary(true)
    <p>
    @Html.TextBoxFor(model => model.Name)
    @Html.ValidationMessageFor(model => model.Name)
    </p>
    <p>
    @Html.TextBoxFor(model => model.SurName)
    @Html.ValidationMessageFor(model => model.SurName)
    </p>
    <input type="submit" value="Gönder">
    }
    </div>
    <div>@if(IsPost){<text>başarılı</text>}</div>
    <div>
    @{Html.RenderAction("IndexPartial", "Home"); }
    </div>

    partial view de şu:

    @using deneme.Models.BO.DTO;
    @model List<PersonDataDTO>
    @{
    Layout = null;
    }
    <div>
    @{if (model != null)
    {


    foreach (var item in model )
    {
    <div>
    <div>item.Id</div>
    <div>item.Name</div>
    <div>item.SurName</div>
    </div>
    }
    }
    }
    </div>

    controller şu;

    public ActionResult Index()
    {
    return View();
    }

    [ChildActionOnly]
    public PartialViewResult Indexbir()
    {
    List<PersonDataDTO> model = null;

    model = PersonData_GetListManagement.PersonData_GetList();

    return PartialView("IndexPartial", model);
    }



    < Bu mesaj bu kişi tarafından değiştirildi cinfis -- 17 Temmuz 2014; 21:27:25 >




  • bir yerde infinite loop a giriyor gibi kod ama şu yorgun kafa ile çok da bakamıyorum ya şimdi, çok kesmişsin zaten kodu bir de fazlalık parantez var
  • Dracos D kullanıcısına yanıt
    tamam ya çözüldü problem:))

    yine de saol ilgilendiğin için...
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.