Web Service, SharePoint, Web Service, CMS Tips, ASP.NET, Web Service Tutorial, SharePoint Tutorial, Web Service Tutorial, Affiliate Tutorial, CMS Tutorial, ASP.NET Tutorial

DARI MASA KE MASA

Saturday, December 9, 2017

Open and Mapping Web App From TFS Into Local Hardisk


Pada posting kali ini kita akan membahas bagaimana cara membuka website di visual studio dan otomatis melakukan mapping ke dalam local hardisk kita. Agar pada saat download source code tersebut dari TFS sudah otomatis melakukan mapping dan ter-hubung dengan TFS. Dengan demikian maka kita dapat melakukan checkin maupun checkout.

Sedikit berbeda dengan tipe aplikasi berjenis project yang pada saat kita mapping ke local akan langsung terhubung dengan TFS pada saat kita buka dari local folder kita. Seperti pada gambar dibawah ini :



Open and Mapping Web App From TFS Into Local Hardisk


Open and Mapping Web App From TFS Into Local Hardisk

Open and Mapping Web App From TFS Into Local Hardisk

Open and Mapping Web App From TFS Into Local Hardisk


Untuk jenis website maka langkahnya akan berbeda karena kita dapat langsung membuka jenis web app langsung dari TFS dan oleh visual studio akan otomatis termapping ke dalam local hardisk kita.

Seperti yang pada gambar dibawah ini :

Open and Mapping Web App From TFS Into Local Hardisk

Open and Mapping Web App From TFS Into Local Hardisk

Siapkan nama folder di local hardsik untuk proses mapping

Open and Mapping Web App From TFS Into Local Hardisk

Open and Mapping Web App From TFS Into Local Hardisk

Open and Mapping Web App From TFS Into Local Hardisk

Open and Mapping Web App From TFS Into Local Hardisk

Langkah terakhir adalah menyimpan web tersebut yang akan memunculkan konfirmasi pembuatan solution.

Semoga posting tentang "Open and Mapping Web App From TFS Into Local Hardisk" diatas dapat bermanfaat.


Salam,

Saturday, November 25, 2017

Get URL PageName Using SQL Server Query


Untuk keperluan data analitic aplikasi berbasis web. Pada umumnya kita menggunakan log yang dihasilkan oleh web server. Contohnya adalah jika kita menggunakan IIS Web Server maka kita dapat melihat file log didalam folder Log yang ada di folder inetpub.

Isi dari file log tersebut jika kita parsing menggunakan IISLogParser maka terdapat kolom URI yang berisi alamat URL yang diakses oleh user. Biasanya kita ingin memisahkan antara base URL, page yang diakses, dan parameter yang diterima agar lebih mudah dikelompokkan.

Jika kita menyimpan informasi URL tersebut didalam database SQL Server maka kita dapat membuat function untuk memisahkan informasi URLdengan lebih spesifik.

Dibawah ini adalah sample function yang dapat kita gunakan untuk memilah.

CREATE FUNCTION [dbo].[udf_ExtractPartsofURLString]
(
  
@URLString  VARCHAR(MAX) -- the URL string to parse
)
RETURNS @Results TABLE
      
(
          
SuppliedURLString       VARCHAR(MAX),  -- http://www.mssqltips.com/tip.asp?tip=1156
          
BaseURL                 VARCHAR(MAX),  -- www.mssqltips.com
          
PageName                VARCHAR(MAX),  -- tip.asp
          
ParameterString         VARCHAR(MAX)   -- tip=1156
      
)
AS
BEGIN
   INSERT
@Results
      
(
          
SuppliedURLString,
          
BaseURL,
          
PageName,
          
ParameterString
      
)

  
SELECT
      
@URLString                                                                                              AS SuppliedURLString,
      
      
SUBSTRING(@URLString,(CHARINDEX('//',@URLString,1) + 2), CHARINDEX('/', REVERSE (@URLString), 1) )     AS BaseURL,

      
REVERSE(RTRIM(SUBSTRING(REVERSE (@URLString),(CHARINDEX('?', REVERSE (@URLString), 1)+1),
       ((
CHARINDEX('/', REVERSE (@URLString), 1)) - (CHARINDEX('?', REVERSE (@URLString), 1))- 1))))            AS PageName,

      
REVERSE(RTRIM(SUBSTRING(REVERSE (@URLString), 1, CHARINDEX('?', REVERSE (@URLString), 1) - 1)))         AS ParameterString

  
RETURN
END




Semoga posting tentang "Get URL PageName Using SQL Server Query" diatas dapat bermanfaat.
 
Salam,

Saturday, November 18, 2017

IIS Log Parser Using C# and Saved In Database


Pada posting berjudul "IIS Log Parser Using C# and Saved In Database" kali ini penulis akan memberikan sample program untuk melakukan parsing IIS Log ke dalam database SQL Server.

Fungsi IIS Log sendiri untuk mencatat lalu lintas apa saja yang terjadi di dalam web server sehingga kita dapat menganalisa utilisasi dari aplikasi maupun respond time dari aplikasi terhadap request yang diminta oleh client.

Source code asli dari sample yanga akan saya berikan diambil dari situs : https://www.codeproject.com/Articles/18749/LogParser-DataProvider-for-ADO-NET.
Pada posting ini source code tersebut telah dimodifikasi sehingga hasil parsing dapat langsung disimpan kedalam database sehingga lebih mudah untuk diolah untuk laporan analisa.

Hal yang pertama kita perlukan adalah membuat database untuk menyimpan hasil parsing IIS Log. Dibawah ini contoh script dan tampilan database yang penulis gunakan untuk menampung hasil parsing.

USE [master]
GO
CREATE DATABASE [IISLOG]
 CONTAINMENT = NONE
 ON  PRIMARY
( NAME = N'IISLOG', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\IISLOG.mdf' , SIZE = 4096KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON
( NAME = N'IISLOG_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\IISLOG_log.ldf' , SIZE = 9216KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [IISLOG] SET COMPATIBILITY_LEVEL = 110
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [IISLOG].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [IISLOG] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [IISLOG] SET ANSI_NULLS OFF
GO
ALTER DATABASE [IISLOG] SET ANSI_PADDING OFF
GO
ALTER DATABASE [IISLOG] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [IISLOG] SET ARITHABORT OFF
GO
ALTER DATABASE [IISLOG] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [IISLOG] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [IISLOG] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [IISLOG] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [IISLOG] SET CURSOR_DEFAULT  GLOBAL
GO
ALTER DATABASE [IISLOG] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [IISLOG] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [IISLOG] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [IISLOG] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [IISLOG] SET  DISABLE_BROKER
GO
ALTER DATABASE [IISLOG] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [IISLOG] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [IISLOG] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [IISLOG] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [IISLOG] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [IISLOG] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [IISLOG] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [IISLOG] SET RECOVERY FULL
GO
ALTER DATABASE [IISLOG] SET  MULTI_USER
GO
ALTER DATABASE [IISLOG] SET PAGE_VERIFY CHECKSUM 
GO
ALTER DATABASE [IISLOG] SET DB_CHAINING OFF
GO
ALTER DATABASE [IISLOG] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF )
GO
ALTER DATABASE [IISLOG] SET TARGET_RECOVERY_TIME = 0 SECONDS
GO
EXEC sys.sp_db_vardecimal_storage_format N'IISLOG', N'ON'
GO
USE [IISLOG]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[IISLog](
    [LogFilename] [varchar](255) NOT NULL,
    [RowNumber] [int] NOT NULL,
    [EntryDate] [date] NULL,
    [EntryTime] [datetime] NOT NULL,
    [ServerName] [varchar](255) NOT NULL,
    [ServerIpAddress] [varchar](255) NOT NULL,
    [Method] [varchar](255) NOT NULL,
    [Uri] [varchar](255) NOT NULL,
    [UriQuery] [varchar](255) NULL,
    [Port] [int] NOT NULL,
    [Username] [varchar](255) NULL,
    [ClientIpAddress] [varchar](255) NOT NULL,
    [UserAgent] [varchar](255) NOT NULL,
    [Cookie] [varchar](255) NULL,
    [Hostname] [varchar](255) NOT NULL,
    [HttpStatus] [int] NOT NULL,
    [BytesFromServerToClient] [int] NOT NULL,
    [BytesFromClientToServer] [int] NOT NULL,
    [TimeTaken] [int] NOT NULL,
    [LoadDate] [datetime] NULL
) ON [PRIMARY]
GO

CREATE CLUSTERED INDEX [ClusteredIndex-RowNumber-LoadDate] ON [dbo].[IISLog]
(
    [RowNumber] ASC,
    [LoadDate] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
USE [master]
GO
ALTER DATABASE [IISLOG] SET  READ_WRITE
GO

Hasil dari parsing yang telah tersimpan di dalam database akan terlihat seperti gambar berikut ini :

IIS Log Parser Using C# and Saved In Database


Sample code IIS Log Parsing dapat diunduh pada link download berikut ini.

Semoga posting tentang "IIS Log Parser Using C# and Saved In Database" diatas dapat bermanfaat.



Salam,

Monday, November 6, 2017

Passing Value From User Control To Parent Page in ASP.NET


Sesuai dengan judul postingan yaitu "Passing Value From User Control To Parent Page in ASP.NET". Sebenarnya cara paling mudah menggunakan session yang dibuat pada user control tetapi cara ini tidak direkomendasikan karena session memiliki timeout dan mengambil banyak resource.

Sedangkan cara lainnya adalah membuat property dan mengeset property tersebut dengan memanfaatkan viewstate seperti pada contoh dibawah ini  :

Partial Class Controls_ADUserControl
    Inherits System.Web.UI.UserControl

    Public _ADUser As String

    Public Property ADUser() As String
        Get
            Return Convert.ToString(ViewState("ADAccount"))
        End Get
        Set(value As String)
            ViewState("ADAccount") = value
        End Set
    End Property

    Protected Sub BtnSearchAD_Click(sender As Object, e As System.EventArgs) Handles BtnSearchAD.Click

        ADUser = "Return Value"
    End Sub
End Class

Kemudian di parent page kita hanya perlu memanggil nama property dari user control tersebut seperti dibawah ini :


TxProjectOwner.Text = UCAD.ADUser

Maka di TxProjectOwner yang berada pada parent page akan terisi dengan "Return Value"
Semoga posting tentang "Passing Value From User Control To Parent Page in ASP.NET" diatas dapat bermanfaat.



Salam,

Thursday, November 2, 2017

The connection to the server was reset while the page was loading.


Sebagai developer web khususnya yang menggunakan ASP.NET. Pernahkah pembaca mendapatkan error seperti berikut ini "The connection to the server was reset while the page was loading" yang terjadi setelah request postback ke server yang membutuhkan waktu yang cukup lama.



The connection to the server was reset while the page was loading.


Penyebab dari error diatas adalah proses di server membutuhkan waktu yang lama atau jumlah data yang ditampilkan melewati batasan default aplikasi web.

Solusinya adalah dengan menambahkan konfigurasi di web config tag dibawah ini :

 <httpRuntime maxRequestLength="1048576" executionTimeout="800" />

Letakkan tag diatas di dalam tag <system.web></system.web>


Semoga posting tentang "The connection to the server was reset while the page was loading" diatas dapat bermanfaat.


Salam,