Ho avuto molti problemi per il deploy di un'applicazione XBAP che avrei voluto far girare in modalità Partial Trusted e distribuirla con ClickOnce, il limite conosciuto in questa situazione è che si possono invocare solo webservice che abbiano lo stesso URI su cui è pubblicata l'applicazione ClickOnce, peccato che continuo ad avere un errore di Permission. Dopo molte prove e molto cercare su internet credo si aver capito la problematica, che si presenta solo se nel web.config si è settato un valore diverso per la proprietà maxReceivedMessageSize del binding, ad esempio:
<binding name="NewBinding0_IDBService" maxReceivedMessageSize="67108864"...
che si traduce nella seguente eccezione:
System.Security.SecurityException: Request for the permission of type 'System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
at System.Security.CodeAccessPermission.Demand()
at System.Net.HttpWebRequest.set_DefaultMaximumErrorResponseLength(Int32 value)
at System.ServiceModel.Channels.HttpChannelFactory.OnOpen(TimeSpan timeout)
a me sembra proprio un baco del framework 3.5 visto che non trovo documentazione sul perchè non si possa impostare questa proprietà in una Partial Trusted Application