Я пытаюсь переместить решение LightSwitch 2012 с помощью FormsAuthentication между компьютерами, поэтому я добавил решение в TFS (используя свою учетную запись TFSPreview) на одном компьютере и все проверил.
На новой машине я сделал выборку, открыл решение и попытался запустить. При запуске приложения экран Loading...
отображается и не исчезает. Я не получаю сообщение об ошибке.
Если я уберу ?IsLaunchedByVS=True
из строки запроса, я увижу экран входа в систему.
Я заархивировал оригинальный рабочий исходный код со старой машины, скопировал его на новую машину, открыл и запустил. Это работает правильно, и я могу войти без необходимости изменять строку запроса.
Я провел diff между двумя папками, было несколько различий в файлах csproj, связанных с номером версии, указанным в ссылках на библиотеки DLL Lightswitch, я настроил их, чтобы номер версии был указан, однако нет никаких изменений.
Я попробовал это на третьей машине и получил то же самое.
Я запускал Fiddler при попытке загрузить машину, и здесь я вижу разницу. В запросе GetAuthenticationInfo рабочий исходный код возвращает TestUser вместе с разрешениями, установленными в соответствии с диалоговым окном свойств проекта. В коде, извлеченном из TFS, пользователь и разрешения равны нулю. Это может быть причиной того, что приложение не может правильно войти в систему.
Я не вижу причины этого, может ли кто-нибудь дать мне какие-либо указатели?
Код, скопированный с исходного компьютера
@GetAuthenticationInfoResponsehttp://tempuri.org/@GetAuthenticationInfoResult aDomainServices i)http://www.w3.org/2001/XMLSchema-instance^
TotalCount��^IncludedResults b9http://schemas.microsoft.com/2003/10/Serialization/Arrays_anyType.type�c:User cehttp://schemas.datacontract.org/2004/07/Microsoft.LightSwitch.Security.ServerGenerated.Implementation
FullName� Test UserName�TestUser
Permissions_string�!LightSwitchApplication:IsAccounts_string�LightSwitchApplication:IsOffice_string�!LightSwitchApplication:IsEngineer_string� LightSwitchApplication:IsManager_string�5Microsoft.LightSwitch.Security:SecurityAdministrationRoles.nil�^
RootResults behttp://schemas.datacontract.org/2004/07/Microsoft.LightSwitch.Security.ServerGenerated.Implementation_AuthenticationInfo_AuthenticationType�Forms_UserName�TestUser
Код из TFS
@GetAuthenticationInfoResponsehttp://tempuri.org/@GetAuthenticationInfoResult aDomainServices i)http://www.w3.org/2001/XMLSchema-instance^
TotalCount��^IncludedResults b9http://schemas.microsoft.com/2003/10/Serialization/Arrays_anyType.type�c:User cehttp://schemas.datacontract.org/2004/07/Microsoft.LightSwitch.Security.ServerGenerated.Implementation
FullName.nil�Name
Permissions.nil�Roles^
RootResults behttp://schemas.datacontract.org/2004/07/Microsoft.LightSwitch.Security.ServerGenerated.Implementation_AuthenticationInfo_AuthenticationType�Forms_UserName
GetAuthenticationInfo
не возвращает TestUser, но, поскольку все это скрыто с помощью LightSwitch, я не вижу, как это решить. - person Duncan Watts   schedule 03.07.2012