arşiv

0, 2020 için arşiv

Reading XML data into DataTable (c#)

Cuma, 25 Eyl 2020 yorum yok
System.Net.HttpWebRequest webRequest = (HttpWebRequest)System.Net.WebRequest.Create("URL");
webRequest.Credentials = System.Net.CredentialCache.DefaultCredentials;
webRequest.Accept = "text/xml";
webRequest.AllowAutoRedirect = true;
System.Net.HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
System.IO.Stream s = webResponse.GetResponseStream();
StreamReader r = new StreamReader(s);
string xml = r.ReadToEnd();
Response.Write(xml);
s.Close();
r.Close();
webResponse.Close();
Categories: Genel Tags:

HTTPS Redirect web.config

Çarşamba, 16 Eyl 2020 yorum yok
<rewrite>
  <rules>
	<rule name="Force HTTPS" enabled="true">
	  <match url="(.*)" ignoreCase="false"/>
	  <conditions>
		<add input="{HTTPS}" pattern="off"/>
	  </conditions>
	  <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent"/>
	</rule>
  </rules>
</rewrite>
Categories: Genel Tags: ,

SQL – XACT_STATE

Pazartesi, 14 Eyl 2020 yorum yok

XACT_STATE işleminde aşağıdaki değerler dönecektir:

XACT_STATE SonucuAçıklaması
0Etkin herhangi bir transaction yok.
1Hali hazırda aktif olan ve commit edilebilir bir transaction var.
-1Aktif transaction var fakat hata oluşmuş. Transaction sadece rollback edilebilir.

Aşağıdaki örnekte XACT_STATE ifadesi kullanılmıştır:

BEGIN TRY
BEGIN TRANSACTION;
INSERT INTO dbo.SimpleOrders(custid, empid, orderdate)
VALUES (68,9,'2006-07-12');
INSERT INTO dbo.SimpleOrderDetails(orderid,productid,unitprice,qty)
VALUES (1, 2,15.20,20);
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
SELECT ERROR_NUMBER() AS ErrNum, ERROR_MESSAGE() AS ErrMsg;
IF (XACT_STATE()) = -1
BEGIN
ROLLBACK TRANSACTION;
END;
ELSE .... -- provide for other outcomes of XACT_STATE()
END CATCH;

XACT_ABORT Kullanımı

Görüldüğü üzere SQL Server, transaction işleminde herhangi bir hata oluştuğunda otomatik rollback yapmaz. Bu ve önceki bölümde, commit ve rollback işlemleri için yoğunlukla TRY/CATCH kullanılmıştır. TRY/CATCH kullanılmayan durumlarda bir hata oluştuğunda otomatik rollback edebilmek için başka bir yöntem daha bulunmaktadır. XACT_ABORT ayarı ile, transaction çalışırken hata oluştuğunda rollback edilip edilmeyeceği ayarlanabilmektedir.

Varsayılan olarak, XACT_ABORT devre dışıdır. SET ile XACT_ABORT etkin hale getirilebilir:

SET XACT_ABORT ON;

SET XACT_ABORT ayarı ON durumundayken, TRY bloğu haricinde bir hata meydana gelirse tüm transaction işlemi sonlandırılarak rollback edilir. TRY bloğunda oluşan bir hatada ise, XACT_ABORT ayarına rağmen transaction açık tutulur fakat commit edilemez hale getirilmektedir.

KAYNAK: http://www.sqlekibi.com/sql-server/transactionlarin-kontrolu-2.html/

Categories: Genel Tags: