Asp.Net Core and Cookies

Enable Cookies in Project for:

Startup.cs file in insert

And this using cookies for:
 string username = Request.Cookies["username"];
 string password = Request.Cookies["password"];

 

Asp.Net Core Session Not Working (Solution)

Startup.cs file in;

services.Configure<CookiePolicyOptions>(options =>
            {              
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

change to:
options.CheckConsentNeeded = context => false;

Kestrel Server Different Port with Run For Asp.Net Core (Nginx)

Create kestrel service:

nano /etc/systemd/system/kestrel-oguzhanabali.com.service
[Unit]
Description=Oguzhan ABALI Blog

[Service]
WorkingDirectory=/var/www/oguzhanabali.com
ExecStart=/usr/bin/dotnet /var/www/oguzhanabali.com/OguzhanAbali.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-example
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target

Add the code below:

Environment=ASPNETCORE_URLS=http://localhost:5001

Asp.Net Core appsettings json get value in static class

Example appsettings:

{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

Create MyConfig name class and;

using Microsoft.Extensions.Configuration;
static class ConfigurationManager
{
    public static IConfiguration AppSetting { get; }
    static ConfigurationManager()
    {
        AppSetting = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json")
                .Build();
    }
}

Now you can use it like :

string value = ConfigurationManager.AppSetting["value_Key"];

Asp.net MVC Css Menu Active Class

Selamlar,

Solutionunuzda “Helpers” adında bir folder oluşturduktan sonra HtmlHepers.cs adında bir class oluşturuyorsunuz ve bu class aşağıdaki kodlardan oluşuyor.

public static class HtmlHelpers

{

public static string ActivePage(this HtmlHelper helper, string controller, string action)

{

string classValue = "";

string currentController = helper.ViewContext.Controller.ValueProvider.GetValue("controller").RawValue.ToString();

string currentAction = helper.ViewContext.Controller.ValueProvider.GetValue("action").RawValue.ToString();

if (currentController == controller && currentAction == action)

{

classValue = "active";

}

return classValue;

}

}

 

Sonrasında _layout türevi menüyü yazdığınız yerde class=”@Html.ActivePage(“Home”,”Index”)” ekliyorsunuz. Bu size active stringini döndürecek. classValue=”active” bunu eğer active classınız farklıysa değiştirebilirsiniz.

İyi çalışmalar herkese..

No response while calling API in ASP.NET C# Web Forms

Asp.net webform uygulamasında async bir api call işlemi yapmaya çalışıyorsanız webformun async çalışmasını doğrulamalısınız.

Async=True
Orn: <%@ Page Title=”” Language=”C#” Async=”true” MasterPageFile=”~/Mast.. gibi

Daha sonra HttpClient ile post yaptığınız yerde ConfigureAwait(false) demelisiniz.

Orn: HttpResponseMessage response = await client.PostAsJsonAsync(“api/user”, userDTO).ConfigureAwait(false); gibi.

Solution:

HttpResponseMessage response = await client.PostAsJsonAsync("api/user", userDTO).ConfigureAwait(false);

 

Bir daha ki ipucunda görüşmek üzere, İyi çalışmalar…

ASP.Net’de Encoding ve Decoding Yapımı

Kullanım yerleri farklılık gösterebilir fakat daima işimize yarayacak bir kod bloğu. Özellikle QueryString ile veri gönderirken açık olarak parametre göndermek ciddi bir güvenlik zafiyetidir. İşte tamda bu alanda kullanmamız gereken bir özellik.

public static string Encode(this string str)
{
byte[] toEncodeAsBytes = UnicodeEncoding.Unicode.GetBytes(str); 
return Convert.ToBase64String(toEncodeAsBytes);
}
public static string Decode(this string str)
{
byte[] encodedDataAsBytes = Convert.FromBase64String(str);
return UnicodeEncoding.Unicode.GetString(encodedDataAsBytes);
}

Görüşmek üzere!

Asp.Net MVC 3 – ReCaptcha

Merhabalar arkadaşlar bu makalemizde google’ın bir hizmeti olan recaptcha uygulamasının nasıl kullanıldığını görüyor olacağız.

Kullanımı her yapıya göre farklılık göstersede aslında birbirleri arasında pek fazla fark yok. Biz makalemizde Asp.Net MVC 3 için örnek yapacağız.

1) En başta projemize Microsoft-Web-Helpers tool’unu kurmamız gerekmekte. Bunun için solution’a sağ tıklayıp “Add Package Reference” diyoruz. Daha sonra source kısmında Microsoft-Web-Helpers’i aratıp gerekli tool’a ulaşıyoruz. Install dedikten sonra projemizin reference kısmına Systems.Web.Helpers dll’ini referans olarak ekliyor. Bu işlemi yaptıktan sonra; http://www.google.com/recaptcha sayfasına girip google hesabınız ile giriş yapacaksınız. Üye olduktan sonra bir domain girmenizi isteyecek ve size 2 adet key üretecek. Bunlardan biri publicKey diğeri ise privateKey’dir. Daha sonra reCAPTCHA plugins and libraries diyerek gerekli dll dosyasını indirip reference’lerimize dahil ediyoruz.

2)Şimdi projemizin source kısmına recaptcha’i ekleyelim. Bunun için ekleyeceğimiz razor veya aspx webformumuza

@{
ReCaptcha.PublicKey = "Sizin public Keyiniz";
}
@ReCaptcha.GetHtml(theme: "red")

kodlarını ekliyoruz. Theme seçeneği olarak bizlere 4 farklı seçenek sunuyor. Ayrıca kendimizde bir theme generate edebiliyoruz. Bunlar ile ilgili geniş bilgi http://www.google.com/recaptcha nin dökümantasyon kısmında mevcut. Bu işlemi yaptıktan sonra recaptcha sayfamıza gelecektir.

3)Artık tek bir şey kaldı, kodu kontrol etmek.. Kodu kontrol etmek için ise Model’imize

if (ModelState.IsValid)
{
if (ReCaptcha.Validate("sizin privateKey’iniz"))
{
Response.Write("Güvenlik kodu doğrulandı");
}
else
{
Response.Write("Güvenlik kodunu yanlış girdiniz.");
}


}

 

Bu makaleyi ekran görüntüleriyle süslemek ve genişletmek isterdim fakat, aslına bakarsanız 2 saat once bir projemde lazım olduğu için kendim kullandım. Ve unutmamak için 10 dk içerisinde buraya karaladım. Mutlaka ama mutlaka birilerine yardımcı olacaktır 🙂 Takıldığınız yer olur ise makalenin altına yorum bırakabilirsiniz, mutlaka cevaplarım..
Hoşçakalın!

Asp.Net alert metodu ( Hayat kurtarır )

Hayat kurtaran alert metodu..

Herkese merhabalar, bu dersimizde asp.net’de en çok ama en çok sorunla karşılaştığımız alert zırvasından bahsediyor olacağız. Sürekli 4 karelik bir web sayfasında en alttaki butonda kullanıcıya mesaj bildirmek isterken hep ajaxlarla updatepanellerle boğuşuruz boğuşuruz ve boğuşuruz…
Artık ajax’a son, artık uğraşmaya son, artık alert metodumuz var 🙂
Hemen projenizde yeni bir class oluşturun alert isminde ve bu class ile bu metodu içerisine bırakıverin. Sonrasında label.text = “cansıkıcı” şeklinde mesaj vereceğinize Alert.Show(“Mesajınız”) şeklinde kullanın. Framework’teki MessageBox.Show(“Mesaj”)’den ne farkı kaldı. Bu classı bir kere projenize entegre edin sonrasında lazım olduğu yerde çağırıp kullanın. Haydi kolay gelsin..

using System.Web;
using System.Text;
using System.Web.UI;
public static class Alert
{
public static void Show(string message)
{
// Buradaki tek tırnak mesaj silmek için izin ister.
string cleanMessage = message.Replace("'", "\\'");
string script = "<script type=\"text/javascript\">alert('" + cleanMessage + "');</script>";
// Yüklenecek webformu alır.
Page page = HttpContext.Current.CurrentHandler as Page;
// Sayfa üzerinde allready olup olmadığını kontrol eder.
if (page != null && !page.ClientScript.IsClientScriptBlockRegistered("alert"))
{
page.ClientScript.RegisterClientScriptBlock(typeof(Alert), "alert", script);
}
} 
}