ASP.NET MVC 2, повторное использование строки SQL-Connection - PullRequest
2 голосов
/ 24 апреля 2010

так что я очень и очень далек от эксперта по MVC или ASP.NET. Сейчас я просто хочу создать несколько простых контроллеров в C #, поэтому у меня следующий вопрос:

Прямо сейчас у меня есть строка подключения, используемая контроллером, внутри контроллера. Что довольно глупо, когда несколько контроллеров используют одну и ту же строку. Я хотел бы иметь возможность изменить строку подключения только в одном месте, чтобы она влияла на все контроллеры.

Не зная много о asp.net или о m и v в MVC, каков наилучший (и самый простой) способ добиться этого?

Буду признателен за любую информацию по этому поводу, примеры тоже были бы великолепны.

Ответы [ 2 ]

2 голосов
/ 24 апреля 2010

Поместите его в свой файл web.config так:

<connectionStrings>
    <add name="ConnectionName" connectionString="TheConnectionString" providerName="System.Data.SqlClient" />
</connectionStrings>

<connectionStrings> - это просто дочерний элемент корневого <configuration> элемента.

Тогда вы можете прочитать это как:

string myConnStr = ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString;

HTHS, Charles

1 голос
/ 24 апреля 2010

Вы можете добавить строку подключения в файл web.config следующим образом:

<configuration>
  <appSettings>
    <add key="ConnectionString"
      value="server=localhost;database=Northwind;uid=sa;password=secret;"/>
  </appSettings>
  <system.web>
    <customErrors mode="Off"/>
  </system.web>
</configuration>

и используйте его в своем коде так:

strConnection = ConfigurationSettings.AppSettings("ConnectionString") // <-----
sqlConn = New SqlConnection(strConnection)
sqlCmd = New SqlCommand("SELECT * FROM Customers WHERE " & "(CompanyName LIKE 'A%') OR (CompanyName LIKE 'B%')", sqlConn)

Обратите внимание на первую строку. Этот пример для VB, но вы должны быть в состоянии сделать то же самое в C #.

Пример взят по этой ссылке http://www.dotnetjohn.com/articles.aspx?articleid=3,, но их везде множество.

Надеюсь, это поможет.

...