Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 客户端需要数据时意外关闭WCF连接_C#_Wcf_Connection - Fatal编程技术网

C# 客户端需要数据时意外关闭WCF连接

C# 客户端需要数据时意外关闭WCF连接,c#,wcf,connection,C#,Wcf,Connection,我有一个使用WCF的简单服务器/客户端设置。我的问题是,任何期望返回值的方法都会由于意外关闭的连接服务器而产生异常 所有数据类都位于MSO.ErrorSystem.Shared.Datatypes 调用该方法的代码: using (var client = Util.GetSearchServiceClient()) { ViewBag.Results = client.SearchReports(searchTerm, page, 50); } Util.GetSearchServi

我有一个使用WCF的简单服务器/客户端设置。我的问题是,任何期望返回值的方法都会由于意外关闭的连接服务器而产生异常

所有数据类都位于
MSO.ErrorSystem.Shared.Datatypes
调用该方法的代码:

using (var client = Util.GetSearchServiceClient())
{
  ViewBag.Results = client.SearchReports(searchTerm, page, 50);
}
Util.GetSearchServiceClient()

在服务器端调用的方法:

 public IEnumerable<Shared.Datatypes.Report> SearchReports(string pSearchterm, int pPageNum, int pPageSize)
    {
        using (var session = DatabaseManager.Instance.DocumentStore.OpenSession())
        {
            return session.Query<Report>().Where(r => Regex.IsMatch(r.Title, pSearchterm) || Regex.IsMatch(r.Text, pSearchterm))
                                            .OrderBy(r => r.Open).OrderBy(r => r.LastEdited).Skip(pPageNum * pPageSize).Take(pPageSize);
        }
    }
public IEnumerable SearchReports(字符串pSearchterm、int-ppageneum、int-pPageSize)
{
使用(var session=DatabaseManager.Instance.DocumentStore.OpenSession())
{
return session.Query().Where(r=>Regex.IsMatch(r.Title,pSearchterm)| | Regex.IsMatch(r.Text,pSearchterm))
.OrderBy(r=>r.Open).OrderBy(r=>r.lastdedited).Skip(pPageNum*pPageSize).Take(pPageSize);
}
}

编辑:

您应该显式打开连接

尝试:


谢谢你的提示!但它不起作用,但抛出了相同的异常
 public IEnumerable<Shared.Datatypes.Report> SearchReports(string pSearchterm, int pPageNum, int pPageSize)
    {
        using (var session = DatabaseManager.Instance.DocumentStore.OpenSession())
        {
            return session.Query<Report>().Where(r => Regex.IsMatch(r.Title, pSearchterm) || Regex.IsMatch(r.Text, pSearchterm))
                                            .OrderBy(r => r.Open).OrderBy(r => r.LastEdited).Skip(pPageNum * pPageSize).Take(pPageSize);
        }
    }
using (var client = new SearchServiceClient())
{
  client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
  client.Open();
  ViewBag.Results = client.SearchReports(searchTerm, page, 50);
  client.Close();
}