Basit bir WCF istemci/sunucu durumu için çalışmak için basit bir işlem kümesi elde etmek için birkaç farklı yol deniyorum. WCF sunucum veritabanı erişimim için Entity Framework sınıfının bir sınıf düzeyi beyanı ve verileri değiştirmek için bir yöntem ve SaveChanges'e bir yöntem sunar. Oracle Data Access'i (ODP.NET) kullanıyorum. Örneğin, istemciden bir değişiklik aramak ve daha sonra WCF hizmetindeki değişiklikleri kaydetmek için ayrı bir çağrı yapmak istiyorum. Çalışmıyor. Temel olarak, her şey iyi çalışır, ancak değişiklikleri kaydetmek için ikinci çağrı yapıldığında, WCF servisi artık orijinal içeriğe sahip değildir ve bu nedenle hiçbir değişiklik kaydedilmez (ve sonuç olarak, değişiklikleri yapan önceki çağrı otomatik olarak geri alınır). .Entity Framework ve WCF'yi işlemlerle çalışmak için nasıl alabilirim? Tamam ... sır nedir?
İstemcimde her iki işlemin çevresinde İşlem kapsamını kullanıyorum ve tamamlandıktan sonra Complete() işlemini yürüttüm. WCF hizmetlerim, [TransactionFlow(TransactionFlowOption.Mandatory)]
'u kullanan OperationContract'a sahiptir ve bu yöntem uygulamaları, [OperationBehavior(TransactionScopeRequired = true, TransactionAutoComplete = true)]
'u kullanır. Son olarak, web yapılandırmam doğru olarak ayarlanmış transactionFlow
özelliği olan bir wsHttpBinding ile yapılandırıldı.
Şansım yok. Ne denediğime bakmadan, takip kaydına hizmet vermeye çalıştığımda, EF içeriği zaten yenileniyor.
Tüm ciltleme işlemleri desteklenmez. http://www.wrox.com/WileyCDA/Section/Transactions-in-WCF-and-NET.id-305253.html – faester
Çağrılar arasında nasıl oturum yürütüyorsunuz? WCF varsayılan olarak durumsuzdur, bu yüzden WCF'yi eyaletle bir şey yapmaya yönlendirmediğiniz sürece bir şey kaybetmiş olabilirsiniz. –
edmx veya poco tarafından üretilen varlıklar – Praneeth