我使用basicHttpBinding在IIS中托管WCF服务.WCF Web服务使用ADO.Net查询后端SQL Server 2008,并将DataTable返回到WCF服务的客户端.
我发现当返回的DataTable很大时,会有异常表示http连接被IIS关闭.任何想法有什么不对,以及如何设置更大的响应大小?另一个想法是对象的序列化大小是否有任何硬性限制(我想可能DataTable实例太大而不能序列化?)
IIS返回的错误信息是:
异常消息:
收到http://labmachine1/service.svc的HTTP响应时发生错误 .这可能是由于服务端点绑定不使用HTTP协议.这也可能是由于服务器中止HTTP请求上下文(可能是由于服务关闭).请参阅服务器日志以获取更多详
{"底层连接已关闭:接收时发生意外错误."}
这是我的服务器端的完整源代码,对于我在web.config中托管的服务器,默认值没有变化.由于我在IIS中托管,我使用basicHttpBinding.
public class StudentManagement : IStudentManagement
{
public DataTable Poll(int Id)
{
return MakeParentTable();
}
private DataTable MakeParentTable()
{
// Create a new DataTable.
System.Data.DataTable table = new DataTable("ParentTable");
// Declare variables for DataColumn and DataRow objects.
DataColumn column;
DataRow row;
// Create new DataColumn, set DataType,
// ColumnName and add to DataTable.
column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.ColumnName = "id";
column.ReadOnly = true;
column.Unique = …Run Code Online (Sandbox Code Playgroud)