WCF远程服务器强制关闭了一个连接
2010-04-20 11:03
197 查看
定义ActionResult类的代码
/// <summary>
/// 不同程序集之间方法调用时的结果类,主要用于WCF多层通讯
/// </summary>
[Serializable]
//[DataContract]
public class ActionResult : MarshalByRefObject
{
...
}
/// <summary>
/// 不同程序集之间方法调用时的结果类(泛型版本),主要用于WCF多层通讯
/// </summary>
/// <typeparam name="T">返回值的类型</typeparam>
public class ActionResult<T> : ActionResult
{
...
}
在WCF服务中定义下面的方法:
/// <summary>
/// 提交成本编码到WCF保存,返回操作结果
/// </summary>
/// <param name="costcode">成本编码</param>
/// <returns>通过ActionResult.Succeed属性获取操作是否成功</returns>
public ActionResult SubmitCostcode(Costcode costcode)
{
var rlt = new ActionResult<Costcode>();//<1>
using (var ctx = new BasicDataEntities())
{
ctx.Costcodes.ApplyChanges(costcode);
rlt.Succeed = ctx.SaveChanges() > 0;
}
return rlt;
}
由于在上面<1>行不小心将rlt变量声明为ActionResult<Costcode>类型,而非ActionResult类型,编译时不会出现任何警告或错误,运行时会导致客户端调用SubmitCostcode方法时服务端虽能正常保存数据,但会抛出一个"远程服务器强制关闭了一个连接"的异常,这样的异常让人摸不着头绪,这个小小的疏忽导致此问题花了两天时间才找到问题根本原因(在此汗一下。。。)。
特别记录在此,警示后人也督促自己以后别再犯类似错误!
/// <summary>
/// 不同程序集之间方法调用时的结果类,主要用于WCF多层通讯
/// </summary>
[Serializable]
//[DataContract]
public class ActionResult : MarshalByRefObject
{
...
}
/// <summary>
/// 不同程序集之间方法调用时的结果类(泛型版本),主要用于WCF多层通讯
/// </summary>
/// <typeparam name="T">返回值的类型</typeparam>
public class ActionResult<T> : ActionResult
{
...
}
在WCF服务中定义下面的方法:
/// <summary>
/// 提交成本编码到WCF保存,返回操作结果
/// </summary>
/// <param name="costcode">成本编码</param>
/// <returns>通过ActionResult.Succeed属性获取操作是否成功</returns>
public ActionResult SubmitCostcode(Costcode costcode)
{
var rlt = new ActionResult<Costcode>();//<1>
using (var ctx = new BasicDataEntities())
{
ctx.Costcodes.ApplyChanges(costcode);
rlt.Succeed = ctx.SaveChanges() > 0;
}
return rlt;
}
由于在上面<1>行不小心将rlt变量声明为ActionResult<Costcode>类型,而非ActionResult类型,编译时不会出现任何警告或错误,运行时会导致客户端调用SubmitCostcode方法时服务端虽能正常保存数据,但会抛出一个"远程服务器强制关闭了一个连接"的异常,这样的异常让人摸不着头绪,这个小小的疏忽导致此问题花了两天时间才找到问题根本原因(在此汗一下。。。)。
特别记录在此,警示后人也督促自己以后别再犯类似错误!
相关文章推荐
- 调用部署在本机IIS服务器的WCF服务并返回数据DataTable,一直报错:远程主机强迫关闭了一个现有的连接,但是服务访问正常
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
- SVN 提交错误--执行上下文错误,远程计算机强制关闭一个现有连接
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
- Java NIO服务器:远程主机强迫关闭了一个现有的连接
- 解决WCF传输大数据量时出错并提示:远程主机强迫关闭了一个现有的连接
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) ---> System.Data.SqlClient.Sql
- 解决WCF大数据量传输 ,System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) .
- Java NIO服务器:远程主机强迫关闭了一个现有的连接
- System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
- System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) .
- WCF分布式开发常见错误(2)无法从传输连接中读取数据: 远程主机强迫关闭了一个现有的连接
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
- android studio 远程主机强制关闭了一个现有连接
- 解决WCF传输大数据量时出错并提示:远程主机强迫关闭了一个现有的连接
- netty 处理远程主机强制关闭一个连接
- 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
- Java NIO服务器:远程主机强迫关闭了一个现有的连接
- windows 2008 server 服务器远程桌面连接会话自动注销,在服务器上开掉的软件全部自动关闭的解决办法