2016-07-21 34 views
-1

我创建了一个WCF服务库,并在我的Web应用程序(asp.net)中添加了作为参考的内置.dll。WCF服务库从Web应用程序中“消失并忘记”

我试过IsOneWay = true,但看起来不起作用。

我正在尝试从Web应用程序中“消防并忘记”,并在我的服务方法中放置了大约10秒钟的时间来测试它。但是,我的网络应用程序等待10秒钟点击按钮。 请指导什么和我可能会做错的地方。提前致谢。

的Web应用程序按钮点击:

EmailAndSync.Service1 svc = new Service1(); 
svc.saveData(); 

服务:

[ServiceContract] 
    public interface IService1 
    { 
     [OperationContract(IsOneWay = true)] 
     void saveData(); 
    } 

public class Service1 : IService1 
    { 
     public void saveData() 
     { 
      System.Threading.Thread.Sleep(10000); 
      sendUsersMail("[email protected]"); 
     } 
     protected void sendUsersMail(string emailid) 
     { 
     //stuff 
     } 
} 

回答

0

使用代表来调用服务和工作的顺利进行。

的Web应用程序代码:

public delegate void Worker(); 
Worker newthread; 

//on button click 
newthread = new Worker(callmethod); 
newthread.BeginInvoke(null, null); 

protected void callmethod() 
    { 
     EmailAndSync.Service1 svc = new Service1(); 
     svc.saveData(0); 
     newthread.EndInvoke(null); 
    } 
相关问题