۷ سال و ۱۱ ماه قبل، دوشنبه ۳ آبان ۱۳۹۵، ساعت ۱۳:۳۸
۷ سال و ۱۱ ماه قبل، دوشنبه ۳ آبان ۱۳۹۵، ساعت ۱۳:۳۲
نکتهای در مورد رفع مشکل «typings ERR! caused by connect ECONNREFUSED 10.10.34.36:443» پس از نصب TypeScript 2.0
پس از ارائهی TypeScript 2.0، مایکروسافت کار مدیریت مخزن Typings را به عهده گرفتهاست و کار آن توزیع مخزن DefinitelyTyped به npm است و دیگر نیازی به استفاده از ابزارهای typings و یا tsd نیست. برای مثال اینبار بجای اینکه دستور ذیل را صادر کنیم:
که با خطای یاد شده متوقف میشود، میتوان نوشت:
یعنی همه چیز مانند حالت نصب معمولی lodash است (npm install --save lodash)؛ اما یک types@ را در ابتدای آن بیشتر دارد. در این حالت فایلهای d.ts. را در پوشهی types@ ذیل node_modules خواهید یافت:
پس از ارائهی TypeScript 2.0، مایکروسافت کار مدیریت مخزن Typings را به عهده گرفتهاست و کار آن توزیع مخزن DefinitelyTyped به npm است و دیگر نیازی به استفاده از ابزارهای typings و یا tsd نیست. برای مثال اینبار بجای اینکه دستور ذیل را صادر کنیم:
typings install lodash --ambient --save
npm install --save @types/lodash
۷ سال و ۱۱ ماه قبل، یکشنبه ۲ آبان ۱۳۹۵، ساعت ۱۴:۲۳
- «نحوه استفاده صحیح از لوسین در ASP.NET»
+ برای رفع فایل lock باید به این صورت عمل کنید:
یک مثال
+ برای رفع فایل lock باید به این صورت عمل کنید:
private static FSDirectory _directoryTemp; private static FSDirectory _directory { get { if (_directoryTemp == null) _directoryTemp = FSDirectory.Open(new DirectoryInfo(_luceneDir)); if (IndexWriter.IsLocked(_directoryTemp)) IndexWriter.Unlock(_directoryTemp); string lockFilePath = Path.Combine(_luceneDir, "write.lock"); if (File.Exists(lockFilePath)) File.Delete(lockFilePath); return _directoryTemp; } }
۷ سال و ۱۱ ماه قبل، شنبه ۱ آبان ۱۳۹۵، ساعت ۲۱:۴۶
این مورد مشکلی است که قالب پیش فرض ایجاد این پروژهها دارند که به همراه دو بستهی نیوگت اضافی هستند. اینها را باید حذف کنید (نیازی به آنها نیست و تاثیری در کار برنامه ندارند):
سپس اگر در فایل csproj برنامه، تعاریف ذیل موجود هستند، آنها را حذف کنید:
و در آخر اگر در فایل web.config برنامه هم این تنظیمات را مشاهده میکنید، آنها را هم حذف کنید:
PM> Uninstall-package Microsoft.CodeDom.Providers.DotNetCompilerPlatform PM> Uninstall-package Microsoft.Net.Compilers
<Target Name="CopyRoslynFiles" AfterTargets="AfterBuild" Condition="!$(Disable_CopyWebApplication) And '$(OutDir)' != '$(OutputPath)'"> <ItemGroup> <RoslynFiles Include="$(CscToolPath)\*" /> </ItemGroup> <MakeDir Directories="$(WebProjectOutputDir)\bin\roslyn" /> <Copy SourceFiles="@(RoslynFiles)" DestinationFolder="$(WebProjectOutputDir)\bin\roslyn" SkipUnchangedFiles="true" Retries="$(CopyRetryCount)" RetryDelayMilliseconds="$(CopyRetryDelayMilliseconds)" /> </Target>
<system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"></compiler> <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+"></compiler> </compilers> </system>
۷ سال و ۱۱ ماه قبل، پنجشنبه ۲۹ مهر ۱۳۹۵، ساعت ۲۳:۲۶
یک مثال دیگر متداول آن، استفادهی از آن در EF Code first است:
در اینجا تنظیمات مهاجرتها در داخل یک سازندهی استاتیک قرار گرفتهاست. به این ترتیب این تنظیم در اولین باری که قرار است اولین وهلهی این کلاس ساخته شود، انجام خواهد شد و دیگر تکرار نمیشود.
public class ProjectsContext : DbContext { //the static constructor runs a single time with the first instance of a class static ProjectsContext() { Database.SetInitializer(new CreateDatabaseIfNotExists<ProjectsContext>); } }
۷ سال و ۱۱ ماه قبل، پنجشنبه ۲۹ مهر ۱۳۹۵، ساعت ۲۳:۲۱
یک مثال جالب آن، کش کردن مقدار خواصی است که قرار است از فایلهای کانفیگ خوانده شوند:
در اینجا هم سازندهی کلاس استاتیک تعریف شدهاست و هم مقداری را که قرار است تنظیم کند. به این ترتیب خواندن از فایل کانفیگ فقط یکبار در طول عمر برنامه صورت خواهد گرفت.
public interface ICheckoutConfig { bool UseGeolocation { get; } } public class CheckoutConfig : ICheckoutConfig { static CheckoutConfig() { bool.TryParse(ConfigurationManager.AppSettings["UseGeolocation"], out _useGeolocation); } private static bool _useGeolocation; public bool UseGeolocation { get { return _useGeolocation; } } }
۷ سال و ۱۱ ماه قبل، چهارشنبه ۲۸ مهر ۱۳۹۵، ساعت ۱۸:۰۳
یک نکتهی تکمیلی: برای Highlight کردن لینک صفحه جاری در بوت استرپ 3
$(document).ready(function () { $('ul.nav.navbar-nav, ul.list-group, ul.nav.nav-tabs').find('a[href="' + location.pathname + '"]') .closest('li') .addClass('active'); });
۷ سال و ۱۱ ماه قبل، چهارشنبه ۲۸ مهر ۱۳۹۵، ساعت ۱۶:۰۰
- مطلب جاری برای حالت «AutomaticMigrationsEnabled = true» است که در آن نیازی به اعمال دستی مهاجرتها نیست (در این حالت متد Up و Down ایی وجود ندارد) و همه چیز پس از آن توسط MigrateDatabaseToLatestVersion خودکار است. اگر از مهاجرتهای «دستی» استفاده میکنید، نیازی به این مطلب ندارید. هر زمانیکه دستور Update-Database اجرا میشود (یعنی حالت مهاجرت «دستی»)، اجرای متد Seed هم جزئی از آن است.
- اگر رشتهی اتصالی به صورت دستی تنظیم میشود، MigrateDatabaseToLatestVersion نیاز به اصلاح دارد: « استفاده از چندین بانک اطلاعاتی به صورت همزمان در EF Code First »
- اگر رشتهی اتصالی به صورت دستی تنظیم میشود، MigrateDatabaseToLatestVersion نیاز به اصلاح دارد: « استفاده از چندین بانک اطلاعاتی به صورت همزمان در EF Code First »
۷ سال و ۱۱ ماه قبل، چهارشنبه ۲۸ مهر ۱۳۹۵، ساعت ۱۵:۲۰
بله. آیا کلاس Configuration حاوی متد Seed هست به همراه کدهای مقدار دهی اولیه بانک اطلاعاتی؟
۷ سال و ۱۱ ماه قبل، سهشنبه ۲۷ مهر ۱۳۹۵، ساعت ۲۳:۲۷
مشکلی مشاهده نشد: