اشتراک‌ها
تزریق وابستگی در ASP.NET 5
ASP.NET 5 has dependcy injection available at framework level and ASP.NET 5 makes heavy use of it. Most of things surrounding controllers, views and other MVC components are implemented as services that web applications consume. This post is quick overview of dependency injection in ASP.NET 5 with some examples 
تزریق وابستگی در ASP.NET 5
اشتراک‌ها
کتاب Visual Studio 2015 Succinctly

In Visual Studio 2015 Succinctly, author Alessandro Del Sole explains how to take advantage of the highly anticipated features in Microsoft Visual Studio 2015. Topics include sharing code between different types of projects, new options for debugging and diagnostics, and improving productivity with other services in the Visual Studio ecosystem, such as NuGet and Azure.

کتاب Visual Studio 2015 Succinctly
اشتراک‌ها
آموزش ASP.NET Web API
 The ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework. 
آموزش ASP.NET Web API
اشتراک‌ها
کتابخانه gauth
A simple application for multi-factor authentication, written in HTML using jQuery Mobile, jsSHA, LocalStorage and Application Cache. It implements RFC4226 (HMAC-based OTP) and has been tested to work with Google Authenticator, Dropbox, Dreamhost, Amazon, Linode, Okta and many other services.  Demo
کتابخانه gauth
اشتراک‌ها
بروز رسانی با Microsoft Sync Framework

Sync Framework is a comprehensive synchronization platform that enables collaboration and offline access for applications, services, and devices. Sync Framework features technologies and tools that enable roaming, data sharing, and taking data offline. By using Sync Framework, developers can build synchronization ecosystems that integrate any application with data from any store, by using any protocol over any network. 

بروز رسانی با Microsoft Sync Framework
اشتراک‌ها
مواردی که باید درباره Visual Studio Online account باید بدانید
With Visual Studio Online, I realized I have not installed an On-premise Team Foundation Server in a while.  The convenience of these online accounts always being available, having the server automatically upgraded, and of course access to services such as Cloud Load Test, Hosted Build and Application Insights takes it from an incredible inconvenience to a must have
مواردی که باید درباره Visual Studio Online account باید بدانید
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 7 - کار با فایل‌های config
سلام و وقت بخیر
من یک پروژه Worker ایجاد کردم و توی program.cs کد زیر رو استفاده کردیم
IHost host = Host.CreateDefaultBuilder(args)
    .ConfigureAppConfiguration((hostingContext, configuration) =>
    {
        configuration.Sources.Clear();
        IHostEnvironment env = hostingContext.HostingEnvironment;
        configuration
            .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
            //.AddJsonFile($"appsettings.{env.EnvironmentName}.json", true, true);
        IConfigurationRoot configurationRoot = configuration.Build();
    })
    .ConfigureServices((hostContext, services) =>
    {
        services.Configure<SiteSettings>(options => hostContext.Configuration.Bind(options));
ولی مشکلی که دارم SiteSettings توی کلاسهایی که ازش استفاده کردم تقریبا خالی هست و اطلاعات appsetting رو نداره. ممنون میشم راهنمایی بفرمایید.
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 18 - کار با ASP.NET Web API
با سلام
چرا در نگارش 3 با تغییر به JSON.NET  همچنان  باز هم نال دریافت میکنم؟

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc()
        .AddNewtonsoftJson();
}

[Route("api/[controller]")]
    [Authorize]
    [ApiController]
    public class UserApiController : Controller
    {
        private readonly IUserService _userService;

        public UserApiController(IUserService userService)
        {
            _userService = userService;
        }


        [HttpPost("[action]")]
        public async Task<IActionResult> GetCustomers([FromBody] CustomersFilterViewModel filter)
        {
            var model = await _userService.GetCustomers(filter);
return Ok(model); }
const options = {headers: {'Content-Type': 'application/json'}};
axios.post(url, JSON.stringify({ data}), options)

 
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 5 - فعال سازی صفحات مخصوص توسعه دهنده‌ها
در متد public void Configure کلاس آغازین برنامه، امکان تزریق وابستگی‌های تنظیمات برنامه وجود دارد:
public class Startup
{
    private readonly IConfiguration _config;

    public Startup(IConfiguration config)
    {
        _config = config;
    }

    public void ConfigureServices(IServiceCollection services)
    {
        var value = _config["key"];
    }

    public void Configure(IApplicationBuilder app, IConfiguration config)
    {
        var value = config["key"];
    }
}
نظرات مطالب
ارتقاء به ASP.NET Core 1.0 - قسمت 9 - بررسی تغییرات مسیریابی
- این توضیح جهت اطلاع مرتبط با نگارش 3x است.
+ تفاوتی نمی‌کند و باید وجود داشته باشد. نمونه مثال Microsoft.AspNetCore.SpaServices.Extensions جدید به صورت زیر است:
using Microsoft.AspNetCore.SpaServices.AngularCli;
using Microsoft.AspNetCore.SpaServices.VueCli;
// ...

namespace Test
{
    public class Startup
    {
       // ...
 
         public void ConfigureServices(IServiceCollection services)
        {
            // ...

            // In production, the SPA files will be served from this directory
            services.AddSpaStaticFiles(configuration =>
            {
                configuration.RootPath = "ClientApp/dist";
            });
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            // ...

            app.UseRouting();
            app.UseEndpoints(endpoints =>
            {
              // ...   
            });

            app.UseSpa(spa =>
            {
                spa.Options.SourcePath = "ClientApp";

                if (env.IsDevelopment())
                {
                    // spa.UseAngularCliServer(npmScript: "start");
                    // spa.UseVueCliServer(npmScript: "serve");
                }
            });
        }
    }
}