Wednesday, 2 February 2011

System.ServiceModel.OperationContext.Current

En tepeden bakarak mesajla ilgili bilgileri bulabileceğimiz sınıftır.
Session ID, SOAP Header'ları, mesaj içeriği bilgileri bu sınıftan yararlanılarak bulunabilir.

Thursday, 27 January 2011

9.Dublex Kontratlar

Eğer WCF servisi çift yönlü olarak kullanılacaksa Dublex kontrat olarak danımlama yapılmalıdır.

8.Request-Response Kontratlar

En çok kullanılan mesajlajma tipidir. İstemci tarafı servise request gönderir ve belirli bir timeout süresi içinde bir response dönmesini bekler.

Kullanılan web servis fonksiyonunda değer dönüyorsa, kontrat tipi olarak Request-Response kontrat tipini kullanılmalıdır.

7.Tek Yönlü Kontratlar (IsOneWay=true)

Eğer tanımladığımız OperationContract OneWay olarak tanımlanmışsa servis dönüş değerini beklemez. Özellikle void dönüş değeri olan fonksiyonlarımızı bu şekilde tanımlamalıyız.

[OperationContract(IsOneWay=true)]
void TekYonluMetod()
{
//....
}

Bu tip kontratlarda Server'dan dönen SOAP Header değeri HTTP 202 Accepted olarak atanır.

6.MessageContract

Eğer transfer edilen data envelop ile ilgili daha çok bilgiye sahip olmak istiyorsak MessageContract kullanmalıyız.

Thursday, 6 January 2011

I.E ve Firefox'da JQuery Caching farkı

Örnek olarak bir Partial View oluşturalım:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<DivanApp.Entities.Hotel>" %>
<% using (Html.BeginForm("Index","Hotel", FormMethod.Post,
new { enctype = "multipart/form-data" ,id="Hotel"})) { %>
<%: Html.ValidationSummary(true) %>

<fieldset>
<div class="editor-field">
<div>Yeni Resim: <input type="file" name="Image" />
</div>
</div>

<div class="editor-field">
Otel: <%: Html.TextBoxFor(model => model.Name) %>
<%: Html.ValidationMessageFor(model => model.Name) %>
</div>
<div class="editor-field">
<img alt="<%: Model.Name %>"
src="<%: Url.Action("GetImage", "Hotel", new { Model.Id }) %>" height="100"
width="100" />
</div>
<input value="Kaydet" type="submit" />
</fieldset>
<%: Html.Hidden("Id",Model.Id) %>
<%: Html.Hidden("Name",Model.Name) %>
<%: Html.Hidden("IsAdvertisement", false)%>
<% } %>

Bu partial view'ı $.get ile çağıralım. Eğer i.e.'den çağırırsak 2. çağrışımızda sayfayı cache'den getirirken, firefox tekrar controllerımızı çağırıyor.