Хорошо, это заняло шесть дней чтения и изучения, чтобы «кликнуть».Я подумал, что Silverlight будет абсолютно легким делом, что по большей части так, как я писал приложения ASP.Net/WinForm в течение многих лет.Много раз мы смотрим на проблему, смотрим и смотрим, и для нашей жизни мы не можем найти решение, поскольку сосредоточены на одной проблеме и не отступаем назад и не смотрим на общую картину.Потребовался «Шираз Бхайджи», который ответил, что около 10 серий IP-адресов являются только внутренними.Я знал это, но был магическим ключом к освобождению моего разума от его беспорядка.Я нарисовал все на своей доске и положил в таблицы маршрутизации, а затем ударил себя по затылку в очевидное решение (например, внешний посетитель не может видеть мою внутреннюю сеть 10 серии).
ВВкратце, вот что я узнал о моем первом приложении Silverlight:
Silverlight запускается на КЛИЕНТЕ, а не на сервере (например, ASP.Net).Я тестировал весь свой Silverlight с приложением ASP.Net, которое отлично работало более года.Приложение Silverlight работает на сервере, и я не мог понять, почему моя служба WCF работает для ASP.Net, но не для Silverlight.Поскольку приложение Silverlight загружается на клиент, они будут видеть службу WCF только в том случае, если она находится за брандмауэром, либо (1) вы открываете брандмауэр, чтобы у него был доступ, либо (2) перемещаете службу в Интернет (убедитесь, чтовключить необходимую безопасность).Я уверен, что есть и другие способы, даже комбинация 1 и 2.
Я выбрал вариант № 1, чтобы переместить его в выделенный и видимый сервис.Я сделал это легко доступным и на альтернативном порту с безопасностью в службе.Брандмауэр перенаправляет на мой внутренний сайт, и все хорошо.Поэтому, если вы используете Silverlight, убедитесь, что при внутреннем тестировании вы также запускаете и тестируете извне, если вы собираетесь выставлять его также и снаружи.