توصیه هایی در استفاده از NGEN
توصیه هایی در استفاده از NGEN
در محل کار از کدام نگارش دات نت استفاده میکنید؟
در محل کار از کدام نگارش دات نت استفاده میکنید؟
فلسفه وجودی بخش finally در try catch چیست؟
- اینکه شما بروز یک مشکل رو با یک عدد منفی از یک متد بازگشت میدید یعنی هنوز دید زبان C رو دارید. در دات نت وجود استثناءها دقیقا برای ننوشتن return 0 یا -1 و شبیه به آن هست. در این حالت برنامه خودکار در هر سطحی که باشد، ادامهاش متوقف میشه و نیازی نیست تا مدام خروجی یک متد رو چک کرد.
- اینکه در یک متد کانکشنی برقرار شده و بسته شده یعنی ضعف کپسوله سازی مفاهیم ADO.NET. نباید این مسایل رو مدام در تمام متدها تکرار کرد. میشه یک متد عمومی ExecSQL درست کرد بجای تکرار مدام یک سری کد.
- یک سری از اشیاء اینترفیس IDisposable رو پیاده سازی میکنند مثل همین شیء اتصالی که ذکر شد. در این حالت میشه از using استفاده کرد بجای try/finally و اون وقت به دوتا using نیاز خواهید داشت یعنی شیء Command هم نیاز به try/finally داره.
EF Code First #4
مفهومی به نام «Migrations» در EF 4.3 ارائه شده است . آیا این EF 4.3 توسط دات نت 4 پشتیبانی میشود؟
چون در زمینه ی وب ، هاست ها بیشتر از NET 4. را پشتیبانی نمیکنند.
خلاصهای کوتاه در مورد WinRT
Metro .NET Framework Profile
از زمانیکه دات نت فریم ورک ارائه شده (حدودا 8 سال یا بیشتر اگر بتای آنرا هم به حساب بیاوریم به سال 2000 بر میگردد)، نگارشهای متفاوتی تا به امروز در اختیار عموم قرار گرفته اند.
جدول زیر این موارد را تا این تاریخ لیست کرده و شماره نگارش دقیق آنها را نیز بر میشمارد:
.NET version | Actual version |
3.5 SP1 | 3.5.30729.1 |
3.5 | 3.5.21022.8 |
3.0 SP2 | 3.0.4506.2152 |
3.0 SP1 | 3.0.4506.648 |
3.0 | 3.0.4506.30 |
2.0 SP2 | 2.0.50727.3053 |
2.0 SP1 | 2.0.50727.1433 |
2.0 | 2.0.50727.42 |
1.1 SP1 | 1.1.4322.2032 |
1.1 SP1 (in 32 bit version of Windows 2003) | 1.1.4322.2300 |
1.1 | 1.1.4322.573 |
1.0 SP3 | 1.0.3705.6018 |
1.0 SP2 | 1.0.3705.288 |
1.0 SP1 | 1.0.3705.209 |
1.0 | 1.0.3705.0 |
برای بدست آوردن شماره نگارشهای نصب شده بر روی یک کامپیوتر متاسفانه راه سادهای وجود ندارد. امکاناتی هم که خود دات نت فریم ورک به صورت ذاتی ارائه میدهد به صورت زیر است:
class NetVersion
{
public static string Version
{
get
{
return Environment.Version + "\n" +
Environment.OSVersion;
}
}
}
که خروجی آن فقط آخرین نگارش CLR را شامل میشود.
برای مثال روی ویندوز اکس پی سرویس پک 3 با دات نت فریم ورک سه و نیم، سرویس پک یک خواهیم داشت:
2.0.50727.3053
Microsoft Windows NT 5.1.2600 Service Pack 3
خوبی این روش هم این است که اگر در یک هاست اینترنتی قصد داشتید شماره نگارش دات نت فریم ورک سرور را بررسی کنید، بدون مشکل پاسخ خواهد داد. برای مثال اگر به دات نت فریم ورک 2 سرویس پک 2 رسیدید، یعنی دات نت فریم ورک سه و نیم، سرویس پک یک حتما روی سرور نصب است، چون این دو با هم ارائه شدهاند و به صورت مجزا ارائه نشدهاند.
برای بدست آوردن لیست دات نت فریم ورکهای مختلف باید به رجیستری ویندوز مراجعه کرد. مسیرهای:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform
این روش یا حتی لیست کردن فولدرهای نصب شد در مسیر C:\WINDOWS\Microsoft.NET\Framework نیز شماره نگارش کامل را ارائه نمیدهند. تنها راه باقیمانده مراجعه به فایل mscorlib.dll هر پوشه و بررسی نگارش آن است:
اینکار را با برنامه نویسی به صورت زیر میتوان انجام داد:
public static string MscorlibVersion
{
get
{
//using System.Diagnostics;
FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(
Environment.GetEnvironmentVariable("windir") +
@"\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll");
return myFileVersionInfo.ProductVersion;
}
}