C# ile Web Api Get-POST ve JSON Array Sending Ve Postman Google Plugin

 Merhaba Arkadaşlar Web Api Üzerine Json objeleri Javascript, Jquery ile gönderirken sorun yaşamıyoruz fakat C# ile bu tarz bir iş yaparken ufak tefek sorunlar çıkabiliyor. "RestSharp" denen bir libary keşfettim. Nuget aracılığı ile projeme dahil ettim. JSON.stringfy yerine "Newtonsoft.Json.JsonConvert.SerializeObject" ekledim. nuget aracılığı ile onuda eklemeniz gerekmektedir.  

Bu RestSharp en güzel yanı POSTMAN denen chrome extention ile ortak çalışabilmesi, kodlarının otomatik üretilmesi ayrı bir olay. Aşağıdaki resimde çağrıyı hazırlıyoruz ve Generate Code diyerek bu ekrana ulaşıyoruz. Sonrası zaten kodu sisteme dahil etme işi oluyor.

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.Generic;
using RestSharp; 

[TestClass]
    public class SyncController_Test
    {
        [TestMethod]
        public void SyncController_Test_Get()
        {
            var url = "http://localhost:38405/api/Sync/GetJsonObject";
            var client = new RestClient(url);
            var request = new RestRequest(Method.GET); 
            IRestResponse response = client.Execute(request);
            Console.WriteLine(response.Content);
        }

        [TestMethod]
        public void SyncController_Test_Post()
        {
            var client = new RestClient("http://localhost:38405/api/Sync/UploadMaterialSeriLot?id=1");
            var request = new RestRequest(Method.POST);
            request.AddHeader("accept", "application/json");
            request.AddHeader("content-type", "application/json");
            var jsonObject = Newtonsoft.Json.JsonConvert.SerializeObject(new{ Name="Test",SurName="Test"});           
            request.AddParameter("application/json", jsonObject, ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);
            Console.WriteLine(response.Content);
        }
    }

 

Tag List !

ASP.NET, ASP.NET MVC, WCF, Castle WCF Facility, Castle IOC, CASTLE Rhino, C#, XML, JSON, Database, MSSQL, NHİNERNATE, SERVİCE, Repository, Domain Model, DTO, Ajax Request, ModelBinding, InputValidation, BussinessValidation, ExceptionHandling, Loging, Interceptors, Nhibernate ENVERSE, AMAZON, AWS, EC2, WORKMAİL, IAM, CodeCommit, CodeDeploy, AWS Lambda, AWS Api Gateway, NodeJS, NodeJs Socket,Express,Https,AWS SES,AWS S3, RESTFULL, ASP.NET Web Api, AngularJS, KnockoutJS, Javascript, HTML, CSS, Bundling, Gulp, Bootstrap, Itextsharp (PDF), Ionic, Zip/rar...

2008-2009 VisualStudio.gen.tr Sitemizde Yayınladığımız C# ve VB.NET dersleri...

2008-2009 VisualStudio.gen.tr Sitemizde Yayınladığımız C# ve VB.NET derslerimiz zaman ne kadar da çabuk geçmiş, Sulhadin Öney dostumla böyle videolar çekip C#, XNA ve daha nicelerini öğreniyorduk. Güzel bir öğrenme yöntemi oldu bizler için, 38 video'luk bu playlist karışık olup anlamsız gelebilir çoğunuza.

 

iTextSharp Image Kaybolma, Sayfaya Sığmama !

PDF dosyama eklemiş olduğum html içerisinde bulunan <img /> için boyut kontrollerinin sağlanıp sayfa boyutunu aşma koşuluna göre yeniden boyutlandırılmasının sağlanması için gerekli Provider aşağıdaki gibidir. Eksikleri olabilir ama şuanlık iş görür durumdadır. Tam bir örnek için file aşağıdaki linkte verilmiştir. Kod parçacığı ise hızlıca ulaşım için aşağıda yer almaktadır.

PdfTestControllerFile.cs (11,25 kb)

    public class CustomImageProvider : AbstractImageProvider
    {
        public override string GetImageRootPath()
        {
            return ToString();
        }

        public override Image Retrieve(string src)
        {
            if (src.StartsWith("data:image/", StringComparison.InvariantCultureIgnoreCase))
            {
                var base64Data = src.Substring(src.IndexOf(",", StringComparison.Ordinal) + 1);
                var imagedata = Convert.FromBase64String(base64Data);
                var image = Image.GetInstance(imagedata);
                image.Alignment = Element.ALIGN_CENTER;
                return image;
            }
            else if (!src.Contains("http"))
            {
                var imageT = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath(src));
              
                var pic = Image.GetInstance(imageT, BaseColor.WHITE);
                if (pic.Height > pic.Width)
                {
                    //Maximum height is 800 pixels.
                    float percentage = 0.0f;
                    percentage = 700 / pic.Height;
                    pic.ScalePercent(percentage * 100);
                }
                else
                {
                    //Maximum width is 600 pixels.
                    float percentage = 0.0f;
                    percentage = 540 / pic.Width;
                    pic.ScalePercent(percentage * 100);
                }

                //pic.Border = iTextSharp.text.Rectangle.BOX;
                //pic.BorderColor = iTextSharp.text.BaseColor.BLACK;
                //pic.BorderWidth = 3f;
                return pic;
            }
            return base.Retrieve(src);
        }
    }