Entity Framework a jeho connection string – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Entity Framework a jeho connection string – .NET – Fórum – Programujte.comEntity Framework a jeho connection string – .NET – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
VladislavK0
Super člen
4. 11. 2014   #1
-
0
-

Ahoj

V App(web).config sekce connectionstring a uvnitř seznam jednotlivých connection stringu - v mém případě jeden, nasměrovaný na moji vývojovou DTB. Potud OK.

Aplikaci vypublikuji na jiný server a patřičný conn string upravím vše je OK.

Dale upravim aplikaci u sebe na svém stroji a provedu opětovné publikování a hle známa věc konkretní conn string se zcela automaticky přepíše. A moje otazka zní jak zajistit aby se con string nepřepsal.

Kde dělám chybu?

Dik za kazdou radu

Nahlásit jako SPAM
IP: 37.48.48.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
Jan Grygerek
~ Anonymní uživatel
22 příspěvků
5. 11. 2014   #2
-
0
-

#1 VladislavK
Co vím tak existuje ještě web.debug.config a web.release.config (ve VS jsou bo web.config když rozklikneš ten trojuhelníček vlevo), když budeš publikovat release tak do web.configu se ti bude kopírovat conn string z web.release.config je to vymyšlené pro to aby jsi u sebe mohl mít nějaká nastavení a na produkčním serveru jiná, ale aby jsi to nemusel pořád držet v hlavě, ale měl to zajištěné v těchto souborech.

Nahlásit jako SPAM
IP: 194.212.30.–
Řešení
VladislavK0
Super člen
5. 11. 2014   #3
-
0
-
Vyřešeno Nejlepší odpověď

Dík za odpověď

O web.debug a web.release vím problém je v tom že

  1. neexistuje obdoba pro App.config - WIN
  2. já mám produkčních DTB a RUNtime serveru více než jeden
  3. App jako celek běží u různých zákazníků

Celá aplikace se skládá ze 2x WIN app a 3x WEB app s jedním DTB jádrem. Každá App má svůj config a současně platí že 1x WIN + 1x WEB běží na jednom serveru a zbývající běží na jiném RT serveru. Všechny App se připojují k jednomu DTB serveru.

A tak jsem to včera večer vyřešil následovně:

Do společného jádra jsem přidal public string proměnou "nameOfConnectionStringName" tuto proměnou naplním ihned při startu všech cástí App jménem počítače "Environment.MachineName" vznikne cca toto "domena/PC_4f44r7t4f" - řekl bych unikátní jméno a toto jméno předávám všem konstruktorům EF

MujEF mef=new MujEF("name="+nameOfConnectionStringName);

No a ve svém Configu mám conn stringy pro všechny zákazníky. Tím dojde k situaci že se mi u každého zákazníka vybere ten spravný nevýhodou je že zákazník vidí všechny ostatní ale protože App běží ve vnitřních sítí každého ze zákazníku tak podle čitelného textu v CS nepoznají kdo je tím dalším zákazníkem. Navíc když zákaznický admin zbývající CS odmaže tak se také nic neděje.

Snad je to srozumitelné.

Nahlásit jako SPAM
IP: 37.48.48.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
Jan Grygerek
~ Anonymní uživatel
22 příspěvků
5. 11. 2014   #4
-
0
-

#3 VladislavK
Možná bych se přiklonil generovat ten conn string v kódu aby zbytečně zákazník nečmuchal kde to je ještě nasazeno, ale záleží jak moc je to tajné :-)

Nahlásit jako SPAM
IP: 194.212.30.–
VladislavK0
Super člen
5. 11. 2014   #5
-
0
-

Rozumím

Ale jedna se o krabicový soft. A nároky na bezpečnost nejsou nijak tragický. A jednotlivý zákazníci si de facto nemají co navzájem ukrást.

Každopádně díky za myšlenku když zbude čas tak to tak nějak překlofu   

Nahlásit jako SPAM
IP: 37.48.48.–
Manželka programátora pošle svého muže koupit chleba s dovětkem kdyby měly housky přines jich deset! Co přinese programátor??
JardaJirava0
Stálý člen
25. 11. 2014   #6
-
0
-

Ahoj,

  netuším, zda používáš pro build nějaký build server, ale asi by to šlo vyřešit i bez něj. To co dělá web.debug.config atd. je obsaženo v příslušném .target souboru.

  Řešení u nás je tedy takové, že máme build script, který ztransformuje jakýkoliv vstupní script s příslušnými atributy do požadovaného výstupu dle konkrétního buildu.

  Build task vypadá následovně: 

<Project ToolsVersion="4.0" DefaultTargets="Transform" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.Tasks.dll"/>
    <Target Name="Transform">
        <TransformXml Source="$(Source)" Transform="$(Transform)" Destination="$(Destination)" />
    </Target>
</Project>

volání je cca následující:

MsBuild Transform.build /p:Source=zdrojovy.config /p:Transform=configstransformacemi.config /p:Destination=cilovy.config

  Pak můžeš mít pro každého zákazníka svůj configstransformacemi.config a udělat různé balíčky.

  Pěkný den,

Nahlásit jako SPAM
IP: 77.78.85.–
MCAD, MCPD
http://jirava.net/blog
http://xaml.cz - Magazín moderních technologií založených na XAML
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 24 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý