PDA

View Full Version : سوال: مشکل در کش کردن



r_mehrizi
چهارشنبه 01 خرداد 1387, 09:07 صبح
من داخل فایل web.config رشته اتصال به sql را تعریف کردم و در صفحات بعدی با استفاده از دستور زیر میخوام رشته اتصال را به دست بیارم برای اولین بار برنامه اجرا نمیشه ولی برای بار دوم جواب میده دلیلش چیه؟
Dim str As String = CType(HttpContext.Current.Cache("conString"), String)

raravaice
چهارشنبه 01 خرداد 1387, 09:31 صبح
از Cache استفاده نکنید !
یه متغییر Public توی صفحه برای این کار در نظر بگیرید.

موفق باشید

r_mehrizi
چهارشنبه 01 خرداد 1387, 09:37 صبح
میشه بیشتر توضیح بدید

raravaice
چهارشنبه 01 خرداد 1387, 10:18 صبح
Dim ConStr As String = ConfigurationManager.ConnectionStrings("conString").ConnectionString


در ابتدای صفحه تعریف کنید و در سرار صفحه ازش استفاده کنید.

یا به صورت Public توی Global.asax تعریف کنید و توی رویداد Application_Start مقداردهی کنید و در همه صفحات با صدا زدن این متغیر از Global مقدار اونو بدست بیارید.

موفق باشید

r_mehrizi
چهارشنبه 01 خرداد 1387, 10:54 صبح
کدی که شما داده بودید را زدم این خطا را داد
Object reference not set to an instance of an object.

r_mehrizi
چهارشنبه 01 خرداد 1387, 11:14 صبح
توی global به این صورت گفتم:

<script runat="server">
Public connectionString
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Code that runs on application startup
connectionString = "Data Source=(local);Initial Catalog=RAD;uid=RAD;pwd=Hamid"
End Sub

توی صفحه اصلی هم که میخوام رشته اتصال را به دست بیارم این جور گفتم

Dim connectionString As String
Str = connectionString

error میده

raravaice
چهارشنبه 01 خرداد 1387, 11:31 صبح
Web.Config


<connectionStrings>
<add name="MyCon" connectionString="Server='(local)';UserID='sa';password='123456';Dat abase='Db'" providerName="System.Data.SqlClient"/>

</connectionStrings>


Global.asax



Public Shared StrCon As String
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
StrCon = ConfigurationManager.ConnectionStrings("MyCon").ConnectionString
End Sub


Page.aspx



Dim ConStr As String = ASP.global_asax.StrCon

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub


موفق باشید