0

私は 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>

よろしくニクラス

4

0 に答える 0