PDA

View Full Version : تعریف رشته اتصال بانک در web.config



rezaomigo
پنج شنبه 10 فروردین 1391, 20:18 عصر
با سلام...
سایت من در مراحل آخر قرار داره و می خواهم سایت را آپلود کنم
در ارتباط با بانکم از sqlserver2008 استفاده می کنم و در تمام کدهام آدرس اون را تعریف کردم مثلا مثل زیر:
Dim connectionString As String = "Data Source=(local);Initial Catalog=DB;Integrated Security=SSPI;"
Dim conObj As New SqlConnection(connectionString)
این کد درون لود صفحه و دیگر جاها قرار داره

حالا سوالم اینکه من اگر نخواهم از کد بالا استفاده کنم و فقط یکبار در web.config تعریف کنم باید چه کار کنم؟؟؟
ممنون

hamid_shrk
پنج شنبه 10 فروردین 1391, 20:47 عصر
jتو وب کانفیگ این تگ رو اد میکنید :
برای لوکال

<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=HAMID-PC;Initial Catalog=نام دیتابیس;Trusted_Connection=Yes;" providerName="System.Data.SqlClient"/>
</connectionStrings>

تو سرور :

<connectionStrings>
<add name="myConnectionString" connectionString="server=localhost;database=myDb;uid=myUser;password =myPass;" />
</connectionStrings>


بعد یک کلاس واسش تعریف میکنی اینجوری :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Configuration;


public class Connection
{
public static SqlConnection Get_ConnectionString()
{
SqlConnection SqlCN = new SqlConnection(@ConfigurationManager.ConnectionStri ngs["ConnectionString"].ToString());
return SqlCN;
}
}


هرجا خواستی ازش استفاده میکنی اینجوری :

SqlConnection SqlCN = Connection.Get_ConnectionString();

Modernidea
چهارشنبه 30 فروردین 1391, 13:39 عصر
سلام

من از Linq استفاده میکنم و خودش آدرس Connection String رو در web.config قرار داده و از اونجا میخونه،

حالا اگه من بخوام پروژه رو بدم به مشتری آیا باید آدرس موجود در web.config رو به صورت دستی تنظیم کنم یا میشه یک صفحه بسازم و از کاربر نام سرور و پسورد رو بگیرم و مقادریر موجود در web.config رو تغییر بدم؟
اگر امکانش هست، لطفا توضیح دهید. منظورم این است که چطوری میشه مقادیر موجود در یک key در web.config رو تغییر داد؟

با تشکر

vahid dot net
چهارشنبه 30 فروردین 1391, 14:15 عصر
سلام
بهتره که عملیات upload رو خودتون به عهده بگیرید اینطوری باید تو web.config به صورت دستی connectionString رو ست کنید و دیگه نیازی به تغییر تو web.config به صورت داینامیک نیست .

Modernidea
چهارشنبه 30 فروردین 1391, 14:37 عصر
بله حق با شماست اما کسی که قرار برنامه رو تحویل بگیرد در یک شهر دیگه است!

raziee
چهارشنبه 30 فروردین 1391, 15:48 عصر
سلام

من از Linq استفاده میکنم و خودش آدرس Connection String رو در web.config قرار داده و از اونجا میخونه،

حالا اگه من بخوام پروژه رو بدم به مشتری آیا باید آدرس موجود در web.config رو به صورت دستی تنظیم کنم یا میشه یک صفحه بسازم و از کاربر نام سرور و پسورد رو بگیرم و مقادریر موجود در web.config رو تغییر بدم؟
اگر امکانش هست، لطفا توضیح دهید. منظورم این است که چطوری میشه مقادیر موجود در یک key در web.config رو تغییر داد؟

با تشکر

باسلام.
مقادیر داخل وب کانفیگ قابل تغییر هستند. اما توجه داشته باشید که اگه به هر دلیلی فایل وب کانفیگ تغییر کنه Application Pool دوباره راه اندازی خواهد شد.
var configuration = WebConfigurationManager.OpenWebConfiguration("~");
var section = (ConnectionStringsSection)configuration.GetSection ("connectionStrings");
section.ConnectionStrings["MyConnectionString"].ConnectionString = "Data Source=...";
configuration.Save();

Modernidea
چهارشنبه 30 فروردین 1391, 15:50 عصر
باسلام.
مقادیر داخل وب کانفیگ قابل تغییر هستند. اما توجه داشته باشید که اگه به هر دلیلی فایل وب کانفیگ تغییر کنه Application Pool دوباره راه اندازی خواهد شد.
var configuration = WebConfigurationManager.OpenWebConfiguration("~");
var section = (ConnectionStringsSection)configuration.GetSection ("connectionStrings");
section.ConnectionStrings["MyConnectionString"].ConnectionString = "Data Source=...";
configuration.Save();

سلام ممنون از پاسخوتون.
" Application Pool دوباره راه اندازی خواهد شد" یعنی چکار میشه؟

raziee
چهارشنبه 30 فروردین 1391, 16:15 عصر
سلام ممنون از پاسخوتون.
" Application Pool دوباره راه اندازی خواهد شد" یعنی چکار میشه؟
اگه IIS رو باز کنید Application Pool ها رو خواهید دید.
گرچه برخی از هاستینگ ها App Pool رو به صورت Dedicated نمیدن (هاستینگ های بی نام و نشون سالی چند هزار تومان)
APP Pool مشخص میکنه که ورژن دات نت مورد استفاده چیه. تخصیص فضای اختصاصی در RAM.تخصیص درصد استفاده از CPU (در Plesk موجود بود ،در WSP موجود نیست)
زمانی که APP Pool مجددا راه اندازی بشه تمام متغیر های static از بین میرند و ....
موضوع رو ادامه ندید چون به موضوع گفتگو ای تاپیک ارتباطی نداره.

Modernidea
چهارشنبه 30 فروردین 1391, 16:21 عصر
قصد ادامه موضوع را ندارم فقط میخوام بدونم که منظور شما اینه که اگر web.config رو تغییر بدیم، دوباره به حالت اول برمیگرده؟

Modernidea
چهارشنبه 30 فروردین 1391, 22:00 عصر
آقای رضایی شما درسته زورتون زیاده ولی این رسمش نیست که بیاید پست خودم رو ویرایش کنید و جوابم رو توی پست خودم بدید :دی

جهت گمراه نشدن کاربران عزیز یادآوری شد :دی

raziee
پنج شنبه 31 فروردین 1391, 00:11 صبح
آقای رضایی شما درسته زورتون زیاده ولی این رسمش نیست که بیاید پست خودم رو ویرایش کنید و جوابم رو توی پست خودم بدید :دی

جهت گمراه نشدن کاربران عزیز یادآوری شد :دی

با سلام.
عذرخواهی میکنم.
اون مورد اشتباه شده بود.

raziee
پنج شنبه 31 فروردین 1391, 00:13 صبح
قصد ادامه موضوع را ندارم فقط میخوام بدونم که منظور شما اینه که اگر web.config رو تغییر بدیم، دوباره به حالت اول برمیگرده؟
خیر برادر.
اگه دوباره به حالت اول برگرده که چرا تغییرش بدیم؟
خیر تغییر نخواهد کرد.