我有一个 Windows 应用商店应用程序,在这个应用商店应用程序中,我有一个文本框,用户输入信息然后发送到我的 WCF 服务。
现在问题来了。当用户输入 1-50 个字符然后决定发送信息时,一切正常。但是..当用户输入超过 50 个字符时,我的应用程序无法发送信息。
我尝试在 app.config 文件中更改/添加 maxArrayLength、maxStringContentLength、maxBufferPoolSize 和 maxBufferSize。比以前更高的价值,但没有成功。
所以我的问题是:我可以发送超过 50 个字符还是有限制?如果可能的话,发送超过 50 个字符.. 我该怎么做?
- - - - - - - - - - - 编辑 - - - - - - - - - -
这就是我将信息发送到 WCF 的方式
var server = new EmployeeAssisterClient();
var timeReportList = _timeReport.GetAll();
foreach (var timeReport in timeReportList)
{
if (!result)
break;
result = server.RegisterTimeAsync(new EmployeeAssisterWCF.TimeReport
{
CustomerId = timeReport.CustomerId,
Date = timeReport.Date,
InvoiceText = timeReport.InvoiceText,
TimeInvoiced = (int) timeReport.InvoicedTime,
TimeWorked = (int) timeReport.WorkedTime,
UserId = timeReport.UserId,
}).Result;
}
WCF 中的 RegisterTime 方法
public Boolean RegisterTime(TimeReport timeReport)
{
var connection = new SqlConnection(_connectionString);
var cmd = new SqlCommand("insert into TimeReport values (@employeeId, @customerNumber, @invoicedTime, @workedTime, @date, @invoiceText, @Invoiced)", connection);
cmd.Parameters.Add(new SqlParameter("@employeeId", timeReport.UserId));
cmd.Parameters.Add(new SqlParameter("@customerNumber", timeReport.CustomerId));
cmd.Parameters.Add(new SqlParameter("@invoicedTime", timeReport.TimeInvoiced));
cmd.Parameters.Add(new SqlParameter("@workedTime", timeReport.TimeWorked));
cmd.Parameters.Add(new SqlParameter("@date", timeReport.Date));
cmd.Parameters.Add(new SqlParameter("@invoiceText", timeReport.InvoiceText));
cmd.Parameters.Add(new SqlParameter("@Invoiced", false));
try
{
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
catch (SqlException)
{
cmd.Connection.Close();
return false;
}
finally
{
cmd.Connection.Close();
}
return true;
}
还有我的绑定
<bindings>
<netHttpBinding>
<binding name="netHttpBindingConfig" maxReceivedMessageSize="2097152"
maxBufferSize="2097152"
maxBufferPoolSize="2097152">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
<message clientCredentialType="UserName" />
</security>
</binding>
</netHttpBinding>
</bindings>
问候尼克拉斯