操作过程中出现异常
正常代码
private TestServiceClient proxy = new TestServiceClient(); EndpointAddress address = new EndpointAddress("http://localhost:2345/TestService.svc"); ... ... proxy.Endpoint.Address = address;
修改为如下代码报错
private TestServiceClient proxy = new TestServiceClient(); EndpointAddress address = new EndpointAddress("http://localhost:12345/TestService.svc"); ... ... proxy.Endpoint.Address = address;
private TestServiceClient proxy = new TestServiceClient(); EndpointAddress address = new EndpointAddress("http://192.168.1.184:12345/TestService.svc"); ... ... proxy.Endpoint.Address = address;
报错信息如下:
System.Reflection.TargetInvocationException: 操作过程中出现异常,结果无效。有关异常的详细信息,请查看 InnerException。 ---> System.ServiceModel.CommunicationException: 尝试向 URI“http://localhost:12345/TestService.svc”发出请求时出错。这可能是由于试图以跨域方式访问服务而又没有正确的跨域策略,或策略不适用于 SOAP 服务。您可能需要与该服务的所有者联系,以发布跨域策略文件并确保该文件允许发送 SOAP 相关的 HTTP 标头。出现此错误也可能是由于使用的是 Web 服务代理中的内部类型而没有使用 InternalsVisibleToAttribute 属性。有关详细信息,请参阅内部异常。 ---> System.Security.SecurityException ---> System.Security.SecurityException: 安全性错误。
位于 System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
位于 System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClass5.<EndGetResponse>b__4(Object sendState)
位于 System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__1(Object sendState)
--- 内部异常堆栈跟踪的结尾 ---
位于 System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
位于 System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
位于 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)
--- 内部异常堆栈跟踪的结尾 ---
位于 System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
位于 System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
位于 System.ServiceModel.ClientBase`1.ChannelBase`1.EndInvoke(String methodName, Object[] args, IAsyncResult result)
位于 WebServiceTest.TestService.TestServiceClient.TestServiceClientChannel.EndGetServerTime(IAsyncResult result)
位于 WebServiceTest.TestService.TestServiceClient.WebServiceTest.TestService.TestService.EndGetServerTime(IAsyncResult result)
位于 WebServiceTest.TestService.TestServiceClient.OnEndGetServerTime(IAsyncResult result)
位于 System.ServiceModel.ClientBase`1.OnAsyncCallCompleted(IAsyncResult result)
--- 内部异常堆栈跟踪的结尾 ---
位于 System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
位于 WebServiceTest.TestService.GetServerTimeCompletedEventArgs.get_Result()
位于 WebServiceTest.MainPage.proxy_GetServerTimeCompleted(Object sender, GetServerTimeCompletedEventArgs e)