webForumDet fria alternativet

MapPath i web.config

.NET

6 svar · 349 visningar · startad av Bjuris

Medlem sedan juli 2001514 inlägg
Frågan#1

Sitter och klurar lite hur man skall applicera server.MapPath i web.config, men jag kommer ingen vart.

<add key="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\cap\Db\shop.mdb;User Id=;Password=;"  />

Den ovan fungerar fint.
men som sagt när jag pillar med MapPath så får jag bara konstiga felmess.

Någon som vet?

Medlem sedan jan. 2004501 inlägg
#2

Jag har löst det genom att skapa en statisk klass som jag inisierar i application load i gloabal.asa.

Skapar man t.ex. en klass som heter MinaViktigaStängar kan du text skapa en property som heter AccessConnectionString.

MinaViktigaStängar och dess properties och funktioner måste vara statiska (mao: public static MinaViktigaStängar)

I webb configen skriver du webbpathen så att säga:
<add key="DBPath" value="cap/Db/" />

Så i application loaden i gloabal.asa skriver du MinaViktigaSträngar.AccessConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(#Härhömtar du din configsträng DBPath#+"shop.mdb") +";User Id=;Password=;"

När du sedan vill hämta ut dina stäng skriver du bara
MinaViktigaStängar.AccessConnectionString

Hoppas det är detta du tänkte dig.

Medlem sedan juli 2001514 inlägg
#3

Det låster som en omväg att gå, det måste väl finnas någon "riktig" lösning på detta?

Medlem sedan feb. 200112 078 inlägg
#4

Jag har erfarenheten av att metoden .MapPath på objektet Server i ASP 3.0 inte går att använda på vissa ställen i Global.asa, som ju på något sätt är en motsvarighet till web.config enligt vad jag vet.

Huruvida det inte skulle fungera i ASP.NET vet jag inte, men uppenbarligen finns samma problem med denna metod där också.

Medlem sedan sep. 20011 914 inlägg
#5
string s = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}\Db\shop.mdb;User Id=;Password=;";

Response.Write(string.Format(s, Server.MapPath("")));
Medlem sedan juli 2001514 inlägg
#6

Dino:

Hur skall jag använda mig av strängen?

Skall man typ göra:

<add key="ConnectionString"  value="+string.Format(s, Server.MapPath(""))+"/>
Medlem sedan sep. 20011 914 inlägg
#7

web.config

<add key="ConnectionString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}\Db\shop.mdb;User Id=;Password=;"  />

Kodfil

string s = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
Response.Write(string.Format(s, Server.MapPath("")));
252 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)