Silverlight クライアントから呼び出される II7 でホストされている basicHttp バインディングを持つ WCF サービスがあります。1 つを除いて、問題なくエンドポイントのすべてのサービスを呼び出すことができます。
サービスがバイト配列を受け取るようにファイルをアップロードしようとしています。サイズが 3MB を超えるファイルをアップロードすると、次のエラーが発生します。
このサービスを呼び出そうとすると:
[OperationContract]
public AuditResponse UploadVendorAuditFile( int vendorID,
int sourceSystemID,
string fileName,
byte[] fileBytes )
{
// stuff
}
次のエラーが表示されます。
401 - Unauthorized: 認証情報が無効なため、アクセスが拒否されました。指定した資格情報を使用してこのディレクトリまたはページを表示する権限がありません。
これが私の構成です。
エンドポイントのバインディング
<basicHttpBinding>
<binding
name="basicHttpBindingConfiguration"
maxBufferSize="2147483647"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647"
>
<readerQuotas
maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647"
/>
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" proxyCredentialType="None" realm="" />
</security>
</binding>
</basicHttpBinding>
サービス構成
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>
</serviceBehaviors>
</behaviors>
クライアント
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding
name="BasicHttpBinding_WMService"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647"
>
<security mode="TransportCredentialOnly" />
</binding>
</basicHttpBinding>
</bindings>