Вам могут потребоваться команды
$ flutter logs
blockquote>, чтобы прочитать ответ с вашего iphone.
Чтобы добавить значок для iOS, вам понадобятся другие пакеты, такие как «flutter_launcher_icons» или «cupertino_icons».
Возьмите, например, flutter_launcher_icons, вам нужно добавить зависимости в ваш pubspec.yaml,
dev_dependencies: flutter_launcher_icons: flutter_icons: android: true ios: "BLE4.0" image_path: "assets/icon/icon.png" image_path_android: "assets/icon/icon.png" image_path_ios: "assets/icon/icon.png"
, а затем вручную обновить файл проекта ios.
Вы также можете обратиться здесь
По сути, это проблема, состоящая из нескольких частей, для решения которой требуется ряд отдельных решений. В сущности, есть 3 проблемы с тем, чтобы сидеть за F5.
Короткий ответ: вам нужно написать ContractBehavior, который реализует как IContractBehavior, так и IWsdlExportExtension.
Важный бит, который вам нужен реализовать - это IWsdlExportExtension.ExportEndpoint. В этом методе вам нужно выполнить итерацию по всем расширениям WsdlPort, а когда вы найдете расширение типа SoapAddressBinding, вам нужно заменить свойство SoapAddressBinding.Location новым Uri, содержащим спецификатор протокола https. Вам также нужно сделать аналогичные биты для адресов импорта xsd и ссылок схемы.
Если ваша служба также использует WS-адресацию, вам нужно сделать что-то подобное для обработки дополнительных адресов, которые она записывает в wsdl.
Я основал код, который в итоге написал, на проекте WsdlExtras, доступном в CodePlex ( http://wcfextras.codeplex.com/ ). Метод, используемый в WsdlExtras, обеспечивает отличную базу для любых дополнительных битов, которые вам, возможно, понадобится добавить в него (из памяти я не думаю, что он имел дело с битами WS-Addressing). Бит, на который вы хотите посмотреть, это "
Если бы Вы добавляете SSL сверху существующего сервиса, он, вероятно, также влиял бы на режим безопасности привязки для клиента WCF, который можно легко переопределить.
Для WSDL, почему Вы только не загружаете файлы, изменяют URL на то, что Вы хотите и публикуете их вручную как файлы?
Я получил большую подсказку, которую, устанавливая атрибут адреса на конечной точке к URL Вы хотите отобразить в WSDL и затем добавить, что listenUri приписывает конечной точке с фактическим Uri для слушания на, добился бы цели.
URL на тестовой странице не становится затронутым (т.е. это все еще покажет адрес, указанный в ListenUri), но в WSDL будет установлен корректный Uri (тот, указанный в адресе.
Наиболее раздражающе, хотя - когда я попробовал это вскоре после того, как я отправил вопрос, я не мог заставить его работать в IIS, только когда сам размещающий в консольном приложении; проверка меня сегодня, я нашел, что она действительно работает; таким образом, теперь я не уверен, почему это не работало на меня прежде;
Что мы сделали, тем временем buid простое пользовательское поведение, которое изменило сервисное описание, поместив адрес, требуемый в WSDL от configurtion; очевидно, если там создается в поддержке, для которой это намного лучше, таким образом, я буду hopfully заставлять некоторое время на следующей неделе изучать это далее.
Добавьте в свой класс службы атрибут:
<ServiceBehavior(AddressFilterMode:=AddressFilterMode.Any)>
Это позволяет клиенту обращаться к службе как https: // ... но служба, которая будет размещена на http: // .....
В web.config узла службы элемент конечной точки должен иметь абсолютный URL-адрес в атрибуте адреса, который является общедоступным URL-адресом, который будет использоваться клиент. В том же элементе конечной точки установите для атрибута listenUri абсолютный URL-адрес, который прослушивает узел службы. Способ определения абсолютного URI по умолчанию, который прослушивает хост, - это добавить ссылку на службу в клиентское приложение, которая указывает на физический сервер, на котором размещена служба. В web.config клиента будет указан адрес службы. Затем я копирую это в атрибут listenUri в файле hosts web.config.
В конфигурации поведения службы добавьте элемент serviceMetaData с атрибутом httpGetEnabled = true
Таким образом, у вас будет что-то вроде:
<serviceBehaviors>
<behavior name="myBehavior">
<serviceMetadata httpGetEnabled="true" />
</behavior
</serviceBehaviors>
...
<services>
<service name="NamespaceQualifiedServiceClass" behavior="myBehavior" >
<endpoint address="https://www.sslloadbalancer.com" binding="someBinding" contract="IMyServiceInterface" listenUri="http://www.servicehost.com" ... />
</service>
</services>
Я не уверен, работает ли это с безопасностью сообщений или безопасностью транспорта. Для этого конкретного приложения учетные данные были переданы как часть DataContract, поэтому у нас был режим безопасности basicHttpBinding = none. Поскольку транспорт безопасен (для балансировщика нагрузки ssl), проблем с безопасностью не было.
Также можно оставить пустым атрибут listenUri, однако он должен присутствовать.
К сожалению, в WCF есть ошибка. где базовый адрес импортированных схем в WSDL имеет базовый адрес listenUri, а не общедоступный базовый адрес (тот, который настроен с использованием атрибута адреса конечной точки). Чтобы обойти эту проблему, вам необходимо создать реализацию IWsdlExportExtension, которая вносит импортированные схемы напрямую в документ WSDL и удаляет импортированные. Пример этого приведен здесь http://winterdom.com/2006/10/inlinexsdinwsdlwithwcf . Кроме того, у вас может быть класс, унаследованный от BehaviorExtensionElement, и дополнить два новых метода:
Public Overrides ReadOnly Property BehaviorType() As System.Type
Get
Return GetType(InlineXsdInWsdlBehavior)
End Get
End Property
Protected Overrides Function CreateBehavior() As Object
Return New InlineXsdInWsdlBehavior()
End Function
Это позволит вам добавить поведение расширения в файл .config и добавить поведение, используя конфигурацию, вместо того, чтобы создавать фабрику служб.
в элементе конфигурации system.servicemodel добавьте:
<endpointBehaviors>
<behavior name="SSLLoadBalancerBehavior">
<flattenXsdImports/>
</behavior>
</endpointBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<!--The full assembly name must be specified in the type attribute as of WCF 3.5sp1-->
<add name="flattenXsdImports" type="Org.ServiceModel.Description.FlattenXsdImportsEndpointBehavior, Org.ServiceModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</behaviorExtensions>
</extensions>
И затем укажите новое поведение конечной точки в своей конфигурации конечной точки, используя атрибут behaviorConfiguration
<endpoint address="" binding="basicHttpBinding" contract="WCFWsdlFlatten.IService1" behaviorConfiguration="SSLLoadBalancerBehavior">