承载WCF访问冲突的WPF应用程序

时间:2015-02-17 21:29:42

标签: c# wpf wcf

我在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);
    }

}

然后在我的主WPF窗口的onload事件中出现错误: *类型' System.ArgumentException'的第一次偶然异常。发生在System.ServiceModel.dll

该程序' [13672] MyApplication.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>

我一直在阅读这方面的教程,所以很可能我误解了一些内容,所以任何指针都非常受欢迎。

1 个答案:

答案 0 :(得分:0)

错误&#39;访问违规&#39;实际上是在托管WCF服务的WPF应用程序中出现任何语法错误。

System.ArgumentException是重要的一个,显然表明我有一些错误的参数。我只是测试一个工作示例,并将使用有效的代码发回!