以下のようにWCFメソッドを実装しました。重複要求WCFサービス
[ServiceContract]
public interface IService1
{
[OperationContract]
string string AddUser(string name,string department,string empCode);
}
public class Service1 : IService1
{
public string AddUser(string name,string department,string empCode)
{
UserDAL.LogRequest(name,department,empcode); //Log request in database
bool isExist=UserDAL.IsExist(name,department,empCode); //Check same user exist or not
if(isExist==false)
{
UserDAL.Add(name,department,empCode);
}
}
}
このWCFは、私は、同じユーザがデータベース(ie.UserDAL.IsExist)に存在しないことが確認されたユーザの詳細を挿入する前などネットWinフォームアプリケーション、SOAP UI、ORACLEによって使用されます。しかしそれでもDBに重複したレコードを挿入しました。「UserDAL.IsExist」メソッドもチェックしており、同じユーザーの詳細がDBに存在する場合はtrueを返しました。重複したレコードが数分の1秒で挿入されていることに気付きました。