我在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>
我一直在阅读这方面的教程,所以很可能我误解了一些内容,所以任何指针都非常受欢迎。
答案 0 :(得分:0)
错误&#39;访问违规&#39;实际上是在托管WCF服务的WPF应用程序中出现任何语法错误。
System.ArgumentException是重要的一个,显然表明我有一些错误的参数。我只是测试一个工作示例,并将使用有效的代码发回!