Я часами искал и не нашел ответа на то, что, по моему мнению, является довольно распространенной проблемой.
У меня много данных (строка [2000000]), которые я хочу отправить пона сервис через сервисную ссылку (asmx).SOAP взорвалась из-за размера сейчас, и я не хочу увеличивать канал, потому что завтра это может быть 4M строк для отправки.
Так что я думал о составных SOAP-сообщениях, однако .NET изначально не поддерживаетэто право?).Так как же это сделать?Любая помощь или ссылки будут с благодарностью.
[WebMethod]
public string[] returnSameStringArray(string[] string_array)
{
return string_array;
}
Телефонный код:
BasicHttpBinding basicHttpBinding = new BasicHttpBinding(BasicHttpSecurityMode.TransportCredentialOnly);
basicHttpBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Windows;
basicHttpBinding.MaxReceivedMessageSize = 131072;
myServiceReference = new MyService.MyServiceSoapClient(basicHttpBinding, new EndpointAddress(@"http://myaddress/myservice.asmx"));
myServiceReference.ClientCredentials.Windows.AllowedImpersonationLevel = TokenImpersonationLevel.Impersonation;
myServiceReference.ChannelFactory.Credentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
string[] theStringArray = new string[2000000](); //init with something later
theStringArray = myServiceReference.returnSameStringArray(theStringArray);