私はEntity Framework Code Firstを使用します。私のエンティティフレームワークでモデルを持つCFよりもデータ型がintと文字列より少ないメモリ消費
public class Stop
{
[Key]
public int StopID { get; set; }
public string StopCode { get; set; }
public string StopText { get; set; }
public string Street { get; set; }
}
それはint型ではないキーが、少ないメモリ消費量を持つことが可能です:ここで
私はモデルを持っていますか?バイト? int16?
文字列のメモリ消費を抑えることはできますか?文字列[20]?
問題は私がWCFサービスを使用してデータを転送することであり、妥当なサイズを超えています。
おかげ
ここでUPDATE
は転送さ一般的なデータのスクリーンショットです:
確かに一つのこと:私は2116の項目は上記のに似て転送していスクリーンショット。転送されるデータのサイズを計算しようとしましょう。私は各項目に20以下の文字を持っています。私は216項目を持っていますので、20 * 2116 = 42320 >>私のweb.config(maxBufferPoolSize)には600000未満が設定されています!ここで
は私の設定です:
<binding name="WSHttpBinding_IRequestService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="600000" maxReceivedMessageSize="600000" messageEncoding="Text"
textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Message">
<transport clientCredentialType="Windows" proxyCredentialType="None"
realm="" />
<message clientCredentialType="Windows" negotiateServiceCredential="true"
algorithmSuite="Default" />
</security>
</binding>
任意のアイデア?
確かに正しいと思います。何故600000(Web.ConfigのmaxBufferPoolSize)が十分でないのか理解できないので、データが転送されるのは変です!私はあなたの詳細とスクリーンショットを表示するために私の質問を更新しました。ありがとう。 – Bronzato