Я хочу использовать silverlight в качестве интерфейса службы Windows.Для этого я использую пользовательский веб-сервер для предоставления файла xap, и он отлично работает.
Теперь я хочу использовать RiaServices, но, конечно, я не задействую IIS.
Вот мой код:
[EnableClientAccess]
public class TestDomainService : DomainService {
public IQueryable<Foo> GetPontos() {
List<Foo> list = new List<Foo>();
list.Add(new Foo {Id = 1});
return list.AsQueryable();
}
}
public class Foo {
[Key]
public int Id { get; set; }
public string Name { get; set; }
}
И программа:
static void Main(string[] args) {
DomainServiceHost host = new DomainServiceHost(typeof(TestDomainService), new Uri("http://0.0.0.0:8099/TestDomainService"));
host.Open();
}
Вы можете использовать этот код в пустом приложении cmd, и как только вы нажмете кнопку play, выдается исключение времени выполнения:
Исключение System.TypeAccessException не обработано. Сообщение = Попытка прозрачного метода безопасности 'System.ServiceModel.DomainServices.Server.DomainTypeDescriptionProvider.GetForeignKeyMembers ()' для доступа к критически важному типу безопасности System.ComponentModel.DataAnnotations.Accessoc.Сборка 'System.ComponentModel.DataAnnotations, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35' является условно APTCA-сборкой, которая не включена в текущем AppDomain.Чтобы включить эту сборку, которая будет использоваться путем частичного доверия или прозрачного защитного кода, пожалуйста, добавьте сборочные имя «System.ComponentModel.DataAnnotations, PublicKey = 0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9» в список на PartialTrustVisibleAssemblies при создании AppDomain.Source = System.ServiceModel..ComponentModel.TypeDescriptor.TypeDescriptionNode.DefaultTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor..DomainServices.Server..DomainServiceDescription. <> c_ DisplayClass8.b _7 (тип Type) в System.Collections.Concurrent.ConcurrentDictionary 2.GetOrAdd(TKey key, Func
2 valueFactory) в System.ServiceModel.DomainServices.Server.DomainServiceDescription.GetDescription (Тип domainServiceType) в System.Serl.Hosting.DomainServiceHost..ctor (Тип domainServiceType, Uri [] baseAddresses) в PartialTrustTest.Program.Main (String [] args) в D: \ Users \ carlucci \ Documents \ My Dropbox \ My Dropbox \ Way2 \ PartialTrustTest \ PartialTrustTest \ Program.cs: строка 10 в System.AppDomain._nExecuteAssembly (сборка RuntimeAssembly, аргументы String []) в System.AppDomain.nExecuteAssembly (сборка RuntimeAssembly, аргументы String []) в System.Runtime.Hosting.ManifestRunner.Run (логическая проверка atptM)System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly () в System.Runtime.Hosting.ApplicationActivator.CreateInstance (ActivationContext ActivationContext, String [] ActivationCustomData) в System.Runtime.Hosting.ApplicationActivator. activateContextIntectionionContext) в System.Activator.CreateInstance (ActivationContext активацииContext) в Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone () в System.Threading.ThreadHelper.ThreadStart_Context (состояние объекта)в System.Threading.ExecutionContext.Run (ExecutionContext executeContext, обратный вызов ContextCallback, состояние объекта, Boolean ignoreSyncCtx) в System.Threading.ExecutionContext.Run (обратный вызов ExecutionContext executeContext, обратный вызов ContextCallback, состояние объекта) в System.Threading.Th
readHelper.ThreadStart () InnerException:
Я пытался добавить System.ComponentModel.DataAnnotations в APTCA, но безуспешно: (
Я изменил свое приложение для запуска с полным доверием, но безуспешно: (
Есть идеи?