[C#] Jaki serwer pod aplikację.

0

Witam.

Piszę aplikację sieciową klient-serwer, której funkcjonalność w głównej mierze opiera się na bazie danych SQL.
Zamierzam skorzystać z szybkich i efektywnych narzędzi Microsoftu - zarówno serwer i klient pisane są w C#, serwer kontaktuje się z bazą danych MS SQL poprzez SqlClient.

Tutaj moje pytanie. Nie chcę uruchamiać tego pod mono (to tak jakby jeść zupę widelcem), które zresztą jest jeszcze zabugowane, a na to nie mogę sobie pozwolić. Chcę uruchomić aplikację pod Windowsem (dowolnym, który obsługuje .NET Framework 3.5).
Jaki musiałbym mieć sprzęt, żeby to ruszyło i działało po prostu szybko i niezawodnie?
Wiem, że ważny jest procesor (chciałbym żeby to było dwurdzeniowe/dwuprocesorowe, bowiem serwer jest aplikacją wielowątkową) oraz pamięć RAM.
Nie potrzebuje dużo miejsca na HDD (mysle ze wszystko bedzie sie miescilo do 10 GB), ani grafiki (serwer co prawda może mieć GUI, ale to tylko małę windowsowe okienko z buttonami i ListBoxem, jak na razie ;P).
Chciałbym móc łączyć się z tym kompem (Wirtualny pulpit, telnet? bo kupno monitora specjalnie dla serwera nie wchodzi w grę) żeby móc odpalać aplikację.

Pozdrawiam, licząc na szybką odpowiedź.

0
PiotrSz napisał(a)

Zamierzam skorzystać z szybkich i efektywnych narzędzi Microsoftu.

Ty chcesz napisac program czy ksiazke ScienceFiction?

0

Nie bardzo wiem o co Ci chodzi. Microsoft pisze najlepsze oprogramowanie na rynku w dziedzinie pisania aplikacji, szczególnie sieciowych. Daj jakiś argument, który temu zaprzeczy (przez pryzmat tego co napisałem w pierwszym poście)

0

zanim zaczniesz wierzyc propagandzie, idz pogadac np. z javowcami, ktorzy maja swoja, rownie dorbze rozwinieta;)

a odpowiadajac - "po prostu szybko i niezawodnie" nie bedzie dzialac dzieki .Net'owi 3.5/4.0/etc oraz SqlServerowi oraz swietnemu sprzetowi, tylko .. uwaga, skup sie - dzieki poprawnie napisanego programowi, z wlasciwa architektura i sensownym projektem

.net, sqlclient/server oraz wcf z ktorego pewnie tez chcesz skorzystac to tylko narzedzia. rownie dobrze moglbys to napisac przy pomocy C++, mysql oraz binarnego strumienia po czystych socketach. i wiesz co - jesli bys to napisal poprawnie - mialbys szanse uzyskac aplikacje bardziej wydajna, o nizszych wymaganiach sprzetowych i bardziej niezawodna - bo bys byl w stanie kontrolowac i doszlifowac kazdy jej aspekt. oczywiscie pomijam fakt, ze takowe uparte nie-korzystanie z gotowych rzeczy by Ci niezle czas pracy wydluzylo i podatnosc na Twoje bledy.

wracajac - narzedzia narzędziami, jesli nie masz rozbudowanego GUI z animacjami, grafika 3d, WPF'em etc, to minimalne wymagania Twojej aplikacji beda takie jak samego (min. wymagania danego .net'a) + (Twoje algorytmy przetwazania i skladowania danych) * (liczba jednoczesnie uzytkownikow).

jesli aplikacyjka ma jedynie cos prostego odczytac/wyszukac i wyswietlic, mozesz zalozyc wymagania takie jak sam .net, w innym przypadku -- wszystko zalezy od Ciebie, architektury, zlozonosci algorytmow itede. jesli sam nie masz pojecia czego sie spodziewac (to co podales, to hmm.. bardzo bardzo malo informacji) to czeka Cie podejscie empiryczne.. czyli piszemy i patrzymy jak szybko chodzi. jak dostatecznie - to "moj" sprzet uznajemy za minimalny. jak za wolno - probujemy przyspieszyc, albo polepszamy sprzet..

0

Ostatnio pisząc malutką aplikację pod netem na gniazdach (komunikacja między app na win ce a serwerem sqlowym) niemiło się zdziwiłem a następnie przegrzebałem pół netu a i tak zadowalającego mnie rozwiązania nie znalazłem. Rzecz rozbija się o nie zamykanie zerwanych połączeń. Jedyne co znalazłem to zmniejszenie timeouta do akceptowalnych rozmiarów (ale wtedy podłączone acz nie potrzebujące danych przez dłuższy czas urządzenia są odłączane).

Piszcie co chcecie ale np. w Delphi było to jakoś lepiej rozwiązane i tam nie było takiego problemu.

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