Javascript در یک تصویر
- لطفا تصویر خطا را ارسال نکنید. متن کامل آنرا ارسال کنید.
- در این تصویر، به سختی میتوان مشاهده کرد که can not read string undefined را ذکر کردهاست. علت اینجا است که چون در فایل Index.html متغیر var jwtToken بدون مقدار دهی اولیه است، مقدار undefined را به سمت سرور ارسال میکند.
var bar; typeof bar; // "undefined"
if(jwtToken == null) // will check if the value is undefined or null. { alert('you need to login first'); return; }
{ // Use IntelliSense to find out which attributes exist for C# debugging // Use hover for the description of the existing attributes // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md "version": "0.2.0", "configurations": [ { "name": ".NET Core Launch (console)", "type": "coreclr", "request": "launch", "preLaunchTask": "build", // If you have changed target frameworks, make sure to update the program path. "program": "${workspaceFolder}/bin/Debug/netcoreapp3.1/EFCoreDbFunctionsSample.dll", "args": [], "cwd": "${workspaceFolder}", // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console "console": "internalConsole", "stopAtEntry": false, "justMyCode": false, "symbolOptions": { "searchMicrosoftSymbolServer": true }, "suppressJITOptimizations": true, "env": { "COMPlus_ZapDisable": "1" } }, { "name": ".NET Core Attach", "type": "coreclr", "request": "attach", "processId": "${command:pickProcess}" } ] }
Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.8\System.Private.CoreLib.dll'. Symbols loaded. Loaded 'D:\Prog\1399\EFCoreDbFunctionsSample\bin\Debug\netcoreapp3.1\EFCoreDbFunctionsSample.dll'. Symbols loaded. . . . Loaded 'D:\Prog\1399\EFCoreDbFunctionsSample\bin\Debug\netcoreapp3.1\EFCoreSecondLevelCacheInterceptor.dll'. Symbols loaded. . . .
CI / CD ساده با GitHub در دات نت
گیتهاب برای راه اندازی CI/CD از GitHub Actions استفاده میکند که میتوانید مستندات آن را در اینجا مشاهده کنید و به صورت کامل با آن آشنا شوید. در اینجا با یک مثال با مراحل راهاندازی CI/CD به وسیله GitHub آشنا میشویم.
نمونه کد این مطلب با روند انجامش رو میتونید از اینجا بگیرید .
رایگان شدن مخازن خصوصی github
همه کنترلها در Xamarin Forms دارای Property ای با نام FlowDirection هستند که مقادیر RightToLeft، LeftToRight و MatchParent را میپذیرد. MatchParent که مقدار پیش فرض است، به این معنی است که مثلا اگر در ContentPage، مقدار FlowDirection را RightToLeft دهیم، تمامی کنترلهای داخل آن صفحه RightToLeft باشند و بالعکس.
مجددا یک Resources file را با نام Strings.fa.resx و یکی دیگر را با نام Strings.en.resx اضافه کنید. برای درک بهتر وضعیت نهایی، پروژه XamApp را Clone/Pull کنید و آن را بررسی کنید.
در فایل Strings.resx یک ردیف جدید اضافه کنید که Name آن برابر با HelloWorld باشد و Value آن خالی است. این نام، در کد نویسی ما استفاده میشود و مثلا نباید شامل Space، علامت ! و ... باشد. در فایل Strings.fa.resx یک ردیف جدید اضافه کنید که Name آن برابر با همان HelloWorld باشد و Value آن برابر با سلام دنیا! در نهایت در فایل Strings.en.resx یک ردیف جدید را اضافه کنید که Name آن HelloWorld بوده و Value آن ! Hello world باشد.
سپس در فایل App.xaml.cs میتوانید قبل از اولین NavigationService.NavigateAsync، از کد زیر را استفاده کنید:
Strings.Culture = CultureInfo.CurrentUICulture = new CultureInfo("en"); // or new CultureInfo("fa");
برای نمایش پیام در View Model با استفاده از IUserDialogs نیز میتوانید به شکل زیر عمل کنید:
await UserDialogs.AlertAsync(message: Strings.HelloWorld);
در صورتیکه بخواهید پارامتری را در stringهای چند زبانه خود داشته باشید نیز میتوانید به شکل زیر عمل کنید:
Name | En Value | Fa Value |
ButtonTappedCount | Button tapped {0} times! | دکمه {0} کلیک شده است |
<Label Text="{Binding StepsCount, StringFormat={x:Static resx:Strings.ButtonTappedCount}}" />
namespace مربوطه یعنی resx هم در بالای فایل Xaml باید قرار داده شود، که میشود:
xmlns:resx="clr-namespace:XamApp.Resources"
await UserDialogs.AlertAsync(string.Format(Strings.ButtonTappedCount, StepsCount));
کتابخانه WebApiThrottle
ASP.NET Web API Throttling handler, OWIN middleware and filter are designed to control the rate of requests that clients can make to a Web API based on IP address, client API key and request route.
public static void Register( HttpConfiguration config ) { config.MessageHandlers.Add( new ThrottlingHandler { Policy = new ThrottlePolicy( perSecond: 1, perMinute: 20, perHour: 200, perDay: 1500, perWeek: 3000 ) { IpThrottling = true }, Repository = new CacheRepository() } ); }
An unhandled exception occurred while processing the request. InvalidOperationException: Unable to resolve service for type 'Microsoft.Extensions.Configuration.IConfigurationRoot' while attempting to activate 'OnionArchitecture.Data.ApplicationDbContext'. Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Type serviceType, Type implementationType, CallSiteChain callSiteChain, ParameterInfo[] parameters, bool throwIfCallSiteNotFound)