Laden...

web.config / ASP.NET Development Server

Erstellt von chriscolm vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.517 Views
C
chriscolm Themenstarter:in
112 Beiträge seit 2009
vor 11 Jahren
web.config / ASP.NET Development Server

Moinsen,
ich habe ien ASP.NET MVC4 Projekt erstellt mit der vorgegebenen Ordnerstruktur. Was muss ich tun, damit die in dem Ordner Views vorhandene web.config ausgewertet wird, wenn ich das Projekt debugge bzw. über F5 starte? Visual Studio benutzt den integrierten Development Server. Alle Änderungen in der web.config bleiben unberücksichtigt, aber Syntaxfehler werden schon angemeckert (!?!). Ich möchte den Abschnitt connectionStrings auslesen:


<configuration>
  <configSections>
    <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
      <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
    </sectionGroup>
  </configSections>

  <connectionStrings>
    <add name="DB" connectionString="Data Source=192.168.0.15,1433;Initial Catalog=PV_xxxxx_5_1;User Id=xxxxx;Password=xxxxxxx;Connection Timeout=30;"/>
  </connectionStrings>

mit diesem Code:


var css = System.Web.Configuration.WebConfigurationManager.ConnectionStrings;
			if (css.Count > 0) {
				var result = css[0].ConnectionString;
				return result;
			}

Ich bekomme aber immer einen default-String ("data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=") zurück 😦

Mit ratlosen Grüßen

Christian

16.835 Beiträge seit 2008
vor 11 Jahren

Lass die Finger vom integrierten ASP.NET Webserver sondern verwende den IIS Server oder wenigstens IIS Express.
Das was der integrierte Webservice da anstellt ist absoluter Murks, weshalb dieser in VS 2012 auch durch den IIS Express abgelöst wurde.

Wenn dann Fehler auftreten, dann kann man sie wenigstens nachvollziehen und reproduzieren, was bei dem integrierten nicht wirklich der Fall ist.

web.config in den Views solltest Du ohnehin nicht mit irgendwelchen ConnectionStrings füttern - die sind nur für die Views gedacht.

Das was Du willst, ist die Webconfig im Hauptverzeichnis.
Auch wenn es ein bequemer Weg ist sollte man die Connection lieber mit dem ConnectionBuilder erstellen, statt die web.config zu nutzen (Erfahrungswerte).

PS: ich hab Deine Credentials mal aus dem Beitrag entfernt.
Dazu sei aber gesagt, dass es alles andre als gut ist, sich mit dem Serveradmin auf die DB zu verbinden.

C
chriscolm Themenstarter:in
112 Beiträge seit 2009
vor 11 Jahren

Moinsen, mit IIS das gleiche Problem. Welche verdammte web.config wird da verwendet? Und wie bekomme ich da meinen eigenen Senf rein? Ich versuche seit heut Mittag "auf die Schnelle" mal eben was auszuprobieren...grummel.

Grüße

Christian

16.835 Beiträge seit 2008
vor 11 Jahren

Web.config im Hauptverzeichnis.
Die Configs in den Views ist (fast) nur für die Standard-Klassen, die die cshtml / aspx-Dateien kennen sollen, da. Die im Hauptverzeichnis hingegen für die ganze Applikation.

Wenn im IIS ein Standard definiert ist, der den gleichen Namen trägt, dann wird Deine Einstellung aber überschrieben. Im IIS werden solche Dinge vererbt.
Daher hab ich auch gesagt, dass sowas zwar sehr einfach ist zu erstellen aber in der Realität gerne von Problemen begleitet ist.