У меня есть проблема с сервисом WCF, который пытается сериализировать слишком много данных. От трассировки я получаю ошибку, которая говорит, что максимальное число элементов, которые могут быть сериализированы или не сериализированы, '65536', попытайтесь увеличить квоту MaxItemsInObjectGraph.
Таким образом, я пошел и изменил это значение, но оно просто проигнорировано (ошибка является тем же с тем же числом). Все это - серверная сторона. Я называю сервис через wget в настоящий момент.
Моя веб-конфигурация похожа на это:
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="AlgoMap.Web.MapService.MapServiceBehavior">
<dataContractSerializer maxItemsInObjectGraph="131072" />
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="customBinding0" closeTimeout="00:02:00" openTimeout="00:02:00" receiveTimeout="00:02:00">
<binaryMessageEncoding>
<readerQuotas maxDepth="64" maxStringContentLength="16384"
maxArrayLength="16384" maxBytesPerRead="16384"
maxNameTableCharCount="16384" />
</binaryMessageEncoding>
<httpTransport />
</binding>
</customBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
<service behaviorConfiguration="AlgoMap.Web.MapService.MapServiceBehavior"
name="AlgoMap.Web.MapService.MapService">
<endpoint address="" binding="customBinding" bindingConfiguration="customBinding0"
contract="AlgoMap.Web.MapService.MapService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
Версия 2, не работая также:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="AlgoMap.Web.MapService.MapServiceEndpointBehavior">
<dataContractSerializer maxItemsInObjectGraph="131072" />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="AlgoMap.Web.MapService.MapServiceBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="customBinding0" closeTimeout="00:02:00" openTimeout="00:02:00" receiveTimeout="00:02:00">
<binaryMessageEncoding>
<readerQuotas maxDepth="64" maxStringContentLength="16384"
maxArrayLength="16384" maxBytesPerRead="16384"
maxNameTableCharCount="16384" />
</binaryMessageEncoding>
<httpTransport />
</binding>
</customBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<services>
<service behaviorConfiguration="AlgoMap.Web.MapService.MapServiceBehavior"
name="AlgoMap.Web.MapService.MapService">
<endpoint
address="" binding="customBinding" bindingConfiguration="customBinding0"
contract="AlgoMap.Web.MapService.MapService"
behaviorConfiguration="AlgoMap.Web.MapService.MapServiceEndpointBehavior" />
<endpoint
address="mex" binding="mexHttpBinding" contract="IMetadataExchange"
behaviorConfiguration="AlgoMap.Web.MapService.MapServiceEndpointBehavior" />
</service>
</services>
</system.serviceModel>
Кто-либо может помочь??Спасибо!!
Любые настройки, помещенные в web.config, были благополучно проигнорированы, я не знаю почему. Но я нашел обходной путь, то есть поместить MaxItemsInObjectGraph в качестве украшения класса . Это работает безупречно:
// MyService.svc
// using...
namespace MyNamespace {
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(MaxItemsInObjectGraph = 65536000)]
public class MyWebService {
[OperationContract]
[WebGet(UriTemplate = "tree/{sessionId}", ResponseFormat = WebMessageFormat.Json)]
public MyData GetTree(string sessionId) {
...
...
В этом случае notification.defaults
является битовым массивом . Используя | =
, вы добавляете Notification.DEFAULT _ VIBRATE
в набор опций по умолчанию. Внутри Уведомления
, вероятно, что наличие этого конкретного значения будет проверено на наличие, например:
notification.defaults & Notification.DEFAULT_VIBRATE != 0 // Present
-121--2593428- Я бы хотел получить ответ на этот. Это похоже на зияющую дыру в API прямо сейчас, и смешно, что SMS поддерживается, а MMS нет.
Вы можете использовать само приложение MMS; там есть код для отправки MMS. Источник можно увидеть в репозитории источников Android
-121--4013280-Возможно, он еще маленький? Вы пытались дать большую ценность, как 655360000? Обратите внимание, что необходимо изменить значение в конфигурационных файлах клиента и сервера. Я думаю, что вы изменились только в одной части;)
После небольшого поиска в Google кажется, что вы добавляете параметр не в то место.
Вам необходимо создать новое поведение
в разделе endPointBehaviors
(не serviceBehaviors
).