Thursday, July 16, 2020

Enable Routing rewrite rules in web config

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Angular Routes" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="/src/" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

Cross origin error web config

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Access-Control-Allow-Origin" value="*" />
      <add name="Access-Control-Allow-Headers" value="Content-Type" />
      <add name="Access-Control-Allow-Methods"
           value="GET, POST, PUT, DELETE, OPTIONS" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

Saturday, July 11, 2020

HttpClient Post Request (with Authentication and Header)

public OutputGetListOfUserContacts PostListOfUserContacts()
        {
            InputGetListOfUserContacts input = new InputGetListOfUserContacts
            {
                UserID = "2",
                PageIndex = "1",
                PageSize = "10"
            };

            using(var client =new HttpClient())
            {
                client.BaseAddress = new Uri("https://localhost:44367/api/");

                var byteArray = Encoding.ASCII.GetBytes("sdsol:CallTranslator99");
                client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));

                client.DefaultRequestHeaders.Add("access_token", "my access token value");

                var postTask = client.PostAsJsonAsync<InputGetListOfUserContacts>("v1/Users/GetListOfUserContacts", input);
                postTask.Wait();

                var result = postTask.Result;

                if (result.IsSuccessStatusCode)
                {
                    var responseTask = result.Content.ReadAsAsync<OutputGetListOfUserContacts>();
                    responseTask.Wait();

                    var res = responseTask.Result;
                    return res;
                }
                return new OutputGetListOfUserContacts();
            }
        }

HttpClient Get Request

using(var client = new HttpClient())
            {
                

                client.BaseAddress = new Uri(baseURL);
                var postTask = client.GetAsync("account/credentials/verify");
                postTask.Wait();

                var result = postTask.Result;
                if (result.IsSuccessStatusCode)
                {

                    var insertedStudent = new JavaScriptSerializer().Deserialize<ResVerify>(result.Content.ReadAsStringAsync().Result);
                    return insertedStudent;
                    
                }
                else
                {
                    Console.WriteLine(result.StatusCode);
                    return new ResVerify();
                }
            }

Web Api remark code (header etc)


        {

            using (var client = new HttpClient())
            {
                var postJSON = new ReqCreateExtension();
                ReqCreateExtension(ExtensionNumber, Password, FirstName, LastName, Gender, Email, postJSON);

                client.BaseAddress = new Uri(BaseURL);



                //MediaTypeFormatter jsonFormatter = new JsonMediaTypeFormatter();
                //HttpContent content = new ObjectContent<ReqCreateExtension>(postJSON, jsonFormatter);
                //HttpRequestMessage request = new HttpRequestMessage()
                //{
                //    RequestUri = new Uri(BaseURL + "extensions/create"),
                //    Method = HttpMethod.Post,
                //    Content = content,
                //    Headers = {
                //    { HttpRequestHeader.Accept.ToString(), "application/json" },
                //    { "access_token", access_token },
                //}
                //};
                //request.Headers.Remove("Content-Length");
                //request.Headers.Add("access_token", access_token);
                //request.Content = new StringContent("{\"access_token\":" + access_token + "}",
                //                                    Encoding.UTF8,
                //                                    "application/json");//CONTENT-TYPE header
                ////client.DefaultRequestHeaders.Add("Content-Type", "application/json");
                //client.DefaultRequestHeaders.Add("access_token", access_token);
                //    var httpRequestMessage = new HttpRequestMessage
                //    {
                //        Method = HttpMethod.Post,
                //        Headers = {
                //    { HttpRequestHeader.Accept.ToString(), "application/json" },
                //    { "access_token", access_token }
                //},
                //        Content = new StringContent(JsonConvert.SerializeObject(postJSON))
                //    };


                client.DefaultRequestHeaders.Add("access_token", access_token);
                var postTask = client.PostAsJsonAsync<ReqCreateExtension>("extensions/create", postJSON);

                postTask.Wait();

                var result = postTask.Result;

                //var result = client.SendAsync(request).Result;
                if (result.IsSuccessStatusCode)
                {

                    var response = new JavaScriptSerializer().Deserialize<ResCreateExtension>(result.Content.ReadAsStringAsync().Result);
                    return response;
                }
                else
                {
                    Console.WriteLine(result.StatusCode);
                    return new ResCreateExtension();
                }
            }
        }

Thursday, July 9, 2020

gallery


upload image to server through ftp of another project (controller actionmethod)

be.HostFilePath = Server.MapPath("/Resources/newsimages/" + NewImageName);
                //be.TransferFilePath = "ftp://184.107.73.104/httpdocs/Images/newsimages/" + NewImageName;
                be.TransferFilePath = "ftp://64.20.42.2/Images/newsimages/" + NewImageName;
                //be.TransferFilePath = "ftp://72.55.184.62/httpdocs/Images/newsimages/" + NewImageName;
                be.FileName = NewImageName;
                bool ISDone = FtpUploads.FtpUploadUsingFileUpload(be);
                sha.news.Photo2 = be.FileName;

Two Factor Authentication using .Net Core

Install Package dotnet add package GoogleAuthenticator --version 3.1.1 Model Changes public bool IsAuthenticatorReset { get; set; } public s...