Я читал (видимо, не очень хорошо), что размещал небольшую службу WCF внутри приложения WPF. Это набор инструментов, в котором есть приложение главного лотка, которое действует как точка распространения информации между ними.Приложение WPF, использующее нарушение доступа к WCF
Когда я пытаюсь создать новый узел службы я получаю нарушение прав доступа, упрощен код следующим образом:
[ServiceContract]
public interface IMyService
{
[WebInvoke(Method = "GET",
BodyStyle = WebMessageBodyStyle.WrappedRequest,
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "/SampleMethod")]
[OperationContract]
void addSearch(object data);
}
MyService.cs
public class MyService: IMyService
{
// Instantiate the API wrapper class.
private MainWindow.api myApi = new MainWindow.api();
public void addSearch(object data)
{
myApi.addSearch(data);
}
}
Тогда в OnLoad случае моей главной WPF Ошибка окна: * В System.ServiceModel.dll произошла первая случайная ошибка типа «System.ArgumentException»
Программа «[13672] MyApplic ation.vshost.exe»завершился с кодом -1073741819 (0xc0000005) 'Нарушение прав доступа'. *
Uri httpUrl = new Uri("http://localhost:8090/MyService/Test");
//Create ServiceHost
// **ERROR HERE
ServiceHost host = new ServiceHost(typeof(MyService), httpUrl);
//Add a service endpoint
host.AddServiceEndpoint(typeof(IMyService), new WSHttpBinding(), "");
//Start the Service
host.Open();
App.manifest
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
<applicationRequestMinimum>
<PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
</applicationRequestMinimum>
</security>
Я читал учебники по этому вопросу, так что это вероятно, я неправильно поняли, поэтому любые указатели очень ценятся.