AWS Lambda Internal Server Error

If you are getting below exception for your .Net Core 3.1 Lambda function after deploying it via web page, continue to reading reason.

Could not find the specified handler assembly with the file name ‘LambdaTest, Culture=neutral, PublicKeyToken=null’. The assembly should be located in the root of your uploaded .zip file.: LambdaException

When you create lambda function via aws web ui, it set default handler as LambdaTest::LambdaTest.LambdaHandler::handleRequest. You need to change it as your your code.

IIS Application Pool Identity

Give write permission to your app for application folder with command line.

ICACLS "myapp folder" /grant "IIS AppPool\myapp":M /t

C# ‘da X509 sertifikasını PkiPath formatında kaydetmek

Her zaman olduğu gibi C# bu formatı desteklemiyor. Normalde X509Certificate2 nesnesnin Export() metodu mevcut ancak PkiPath formatını destelemiyor. Bu işlemi yapabilmek için ücretis Bouncy Castle kütüphanesi kullanabilirsiniz. Kütüphane içinde yer alan Org.BouncyCastle.Pkix.PkixCertPath class’ın GetEncoded() metodunu kullanabilirsiniz.

C# Uygulamanın yada DLL’nin dosya sürümünü almak için

System.Reflection.Assembly assembly = System.Reflection.Assembly.GetEntryAssembly(); //DLL'i çağıran ana uygulama
if (assembly == null)
assembly = System.Reflection.Assembly.GetExecutingAssembly(); //Kodu çalıştıran uygulama
string version = System.Diagnostics.FileVersionInfo.GetVersionInfo(assembly.Location).FileVersion; //versiyon

MSSQL’de ciddi bir bug

MSSQL’de tabloya insert cümlesi ile veri atmaya çalışırken aşağıdaki hatayı aldım. İnternet üzerinden yaptığım aramalarda bu hatanın network sorunu olduğundan bahsedilmiş. Oysaki lokalde çalışan 2008 R2 veri tabanı ile çalışıyordum.

A transport-level error has occurred when receiving results from the server. (provider: Session Provider, error: 19 – Physical connection is not usable)

Aşağıdaki gibi bir insert cümlesi kullanıyordum:

INSERT INTO MyTable (RecordDate) VALUES (@RecordDate)

DateTime nesnesini C# tarafında yaratmıştım ve NULL olduğu için aşağıdaki değeri taşıyordu:

01.01.0001 00:00:00

C# nesnemi nullable yapıp insert komutuna eklerken DBNull.Value yapınca sorun düzeldi.

Ama aklım hala Microsoft gibi bir firmanın DateTime hatası dönmek yerine fiziksel bağlantının koptuğu yönünde bir mesaj veriyor olması.