Diskuze: Společná DLL pro web i exe úlohu?
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Restartuje se IIS nebo stroj, na kterém to IIS běží?
No, AppPool v IIS jednou za čas restartuje IIS pro větší stabilitu a důsledkem toho by se bohužel restartovala i úloha "server", třeba zrovna v nějakém kritickém přepočtu. Nebo ne?
Nevím, ale myslím si, že exe soubor není závislý na běhu webové služby, protože je spouštěn "ze serveru" a ne IISkem. Takže pokud se nerestartuje "stroj", ale jen služba IIS nemělo by to mít vliv na tu úlohu "server"
Ano, to vím, že exe je nezávislý, ale to je současný nevyhovující stav. Exe úloha a IIS web.
Ptám se na to, jak to spojit. Můj dotaz je o tom, jak můžu tyto dvě činnosti spojit tak, aby data (cache) byla společná.
Rád bych celé řešení udělal společně pod webovou aplikací, ale App Pool IIS občas restartuje web a tím by mohl v nevhodný čas přerušit přepočet.
Jinak řečeno, potřebuji cache, která bude společná pro exe i web.
Pokud máš pod kontrolou AppPoolIdentity, dá se to udělat. Nejjednodušší řešení by byla sdílená paměť přes memory-mapped files, ale budeš muset mít vlastní serializaci v rámci sdíleného prostoru, protože .NET objekty musí zůstat v kontextu procesu, kde byly vytvořeny. Navíc ti v rámci IIS poběží více procesů stejné aplikace (bez ohledu na nastavení AppPoolu), takže služba běžící vedle bude muset umět komunikovat s více nezávislými procesy současně.
Jestliže tě složitost nejjednoduššího řešení neodradila, tak ti ještě prozradím, že je to pitomost už z toho důvodu, že na stroji, kde běží IIS, nesmí běžet jiné (náročné) aplikace. Řešení přes SQL je správné a měl by ses ho držet.
V případě jednostranné komunikace ze strany IIS do služby je velice efektivní řešení WCF over TCP, které na stejném stroji jede přes named pipes (sdílený paměťový prostor).
tak si udelej pouze jeden projekt a to Windows service. v ramci teto servisy ti pobezi v jednom vlakne to co dela tvuj "server.exe" a ve druhem vlakne ti pobezi tvoje webove stranky.
Děkuji za zajímavou radu. Jak založit projekt Windows service bych asi
zvladnul, ale vůbec netusim jak k tomu projektu připojím webové
stránky.
Mohl bys mě prosím nasměrovat konkrétněji na nějaký web?
Moc děkuji.
Zalezi jak moc sou ty stranky komplexni. Ted si uprime nejsem jisty jak moc
je co uz prevedene do OWINu. Zacal bych treba tu
http://www.asp.net/…oject-katana
http://nancyfx.org/
Zobrazeno 10 zpráv z 10.