私は 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>
よろしくニクラス