Konsolowy projekcik wiesza cale IDE...

0

Zmiana tytulu na taki, ktory uwazacie za lepiej opisujacy problem mile widziana;)

Witam,
mam ciekawy problemik, ktory wydaje sie banalny – tylko rozwiazania brakuje.
W solucji mamy m.in. maly InterfejsManager – ten projekt jest aplikacja konsolowa, ktora jest uruchamiana przez odpowiedni SQL Server produkcyjny (cykliczny Job w Sever Agent) – w zaleznosci od przekazanego parametru – rozne interfejsy tworza pliki wysylane do roznych serwisow/innych zewnetrznych programow (BW, SAP, CAQ Charge, CAQ Reklamacje i… n-innych ) – ten FileTransfer jest powiedzmy „uwarunkowany historycznie“ – i w tej chwili nie do zmienienia – zbyt wiele zewnetrznych odbiorcow. (Wiec please pominmy pytania. komentarze i rady pt: A moze serwis… a czemu konsola ;) ).

Ogolnie dziala sobie ten mini podprogramik radosnie. Jedna z metod tworzy pliki dla CAQ Charge.
Dotychczas metoda tworzyla odpowiednie listy obiektow roznych klas, przetwarzala, liczyla i „lista koncowa“ byla wysylana do pliku.
Aby jednak poprawic przejrzystosc powinnien zostac ten caly "kram liczacy" przeniesiony do osobnej klasy. Wiec plum... nowa klasa powiedzmy CaqMaker
plus metoda

 
public List<CaqChargenMld> GetCaqChargen(string interName, Datetime tstart, Datetime tEnde)
using  (nowy DBkontext)
{
//skopiowany kod z poprzedniego miejsca – jako taki dziala bez zarzutu (bo i czemu nie - nic sie przeciez nie zmienilo)
return liste….
}

w samym Managerze zamiast calego oryg. kodu, po prostu:

var instance = new CaqMaker();
var listaChargeMld = instance. GetCaqChargen(charge, jakasData, jakasData)

I teraz problemik. Startuje, otwiera konsole, tworzy instancje, wywoluje metode – ona cala dziala jak nalezy – wewnatrz metody kazdy krok poprawnie sie protokoluje, poprawnie tworzy „liste koncowa“ dochodzi do return, wychodzi z metody i… cale studio wisi.
Zadnego Exception, VS wysyla info ze jest zajete („Visual Studio waiting on internal operation to complete. If bla bla to long blabla inform MS.“).
W managerze nic nie dziala, na callStack nie mam zadnych infos, output nie pokazuje bledu.
TaskManager tez nie wskazuje na jakies obliczenia/dzialania, jakby VS na cos czekalo.
Jezeli wezme ten sam kod – copy/paste w { } – zamiast wywolania metody – dziala jak zawsze - czyli dobrze.
Wiem – mozna zostawic jak bylo, ale to nie zaspokaja ciekawosci i nie jest oczekiwanym rozwiazaniem ;)

Gdzie szukac… bo pewnie nie widze drzew chcociaz stoje w lesie :)

Acha - tak dla testu zamienilem return liste na return null i wyrzucilem using - co naturalnie zgodnie z oczekiwaniem nic nie zminilo, hihihi. Ale sprawdzone jest...
WTF :)?

0

Zawiesza ci się program, a nie podałeś nawet w jakiej wersji i czy są zainstalowane aktualizacje.

0

Sorki,
VS 2012 Ult.
I wlasnie badajac kolejne ustawienia znalazlem "drzewo", ktorego nie widzialem ;)
Za caly problem odpowiedzialne sa ustawienia (czyli w zasadzie ja:( ) w Intelli Trace. Jakie dokladnie - zaraz napisze - musze je po kolei znowu wlaczyc. Chociaz nie ukrywam, ze troche dziwi mnie, ze az tak rozwalilo to VS.
Osatnio czesto korzstalem z IntelliTrace i chociaz wiem, ze spowalnia to srodowisko, jeszcze nigdy nie udalo mi sie go calkowicie skasowac jedynie ustawieniami Debuggera:D

@Azarien - Jeszcze raz sorry za byc moze zmarnowany czas.

0

Dla zainteresowanych:

prawie wszystkie ustawienia w zakladce Options/IntelliTrace/ dzialaja nadal (Advance/Events/Modules..) pod warunkiem ze wylacze standardowo uzywane przeze mnie (jesli korzystam z IntelliTrace) - IntelliTrace events and call Information.
Hmm - dlaczego dla tego przypadku zdechlo VS? Co jest takiego szczegolnego w wywolaniu tej metody ...? Jeszcze nie kumam.
Jak zwykle w oknie IntelliTrace sobie czeka, ale jak mowilem VS nie reaguje na nic, nie moge mu przerwac tego radosnego kolekcjonowania :)

Pozdro

1 użytkowników online, w tym zalogowanych: 0, gości: 1