(解決済み)[リマインダー]同じ問題が発生している場合:clientaccesspolicy.xmlとcrossdomain.xmlを正しいフォルダーに配置しているときに同じエラーメッセージが表示された場合は、自己署名を受け入れたかどうかを確認してください。サービス側の証明書。
証明書を受け入れるには:ブラウザにサービスのURLを入力すると、ブラウザはそれを信頼するかどうかを尋ねてきます。証明書をインストールするためのオプションもあり、証明書に関する警告はそのサイトから受信されません。
[元の問題]Silverlightアプリケーションがwcfサービスに接続できませんでした。例外がスローされます。
System.Reflection.TargetInvocationException: An exception occurred during the operation, making the result invalid. Check InnerException for exception details. ---> System.ServiceModel.CommunicationException: An error occurred while trying to make a request to URI 'http://fyp-pc13:97/HelloWorldService/HelloWorld.svc'. This could be due to attempting to access a service in a cross-domain way without a proper cross-domain policy in place, or a policy that is unsuitable for SOAP services. You may need to contact the owner of the service to publish a cross-domain policy file and to ensure it allows SOAP-related HTTP headers to be sent. This error may also be caused by using internal types in the web service proxy without using the InternalsVisibleToAttribute attribute. Please see the inner exception for more details. ---> System.Security.SecurityException ---> System.Security.SecurityException: Security error.
at System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
at System.Net.Browser.BrowserHttpWebRequest.<>c__DisplayClassa.<EndGetResponse>b__9(Object sendState)
at System.Net.Browser.AsyncHelper.<>c__DisplayClass4.<BeginOnUI>b__1(Object sendState)
--- End of inner exception stack trace ---
at System.Net.Browser.AsyncHelper.BeginOnUI(SendOrPostCallback beginMethod, Object state)
at System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelAsyncRequest.CompleteGetResponse(IAsyncResult result)
--- End of inner exception stack trace ---
at System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
at System.ServiceModel.ClientBase`1.ChannelBase`1.EndInvoke(String methodName, Object[] args, IAsyncResult result)
at SilverlightApplication1.ServiceReference1.HelloServiceClient.HelloServiceClientChannel.EndHello(IAsyncResult result)
at SilverlightApplication1.ServiceReference1.HelloServiceClient.SilverlightApplication1.ServiceReference1.IHelloService.EndHello(IAsyncResult result)
at SilverlightApplication1.ServiceReference1.HelloServiceClient.OnEndHello(IAsyncResult result)
at System.ServiceModel.ClientBase`1.OnAsyncCallCompleted(IAsyncResult result)
--- End of inner exception stack trace ---
at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
at SilverlightApplication1.ServiceReference1.HelloCompletedEventArgs.get_Result()
at SilverlightApplication1.MainPage.ialert(Object sender, HelloCompletedEventArgs msg)
このサービスは、コンソールアプリで完全に正常に機能しています。だから私はそれが私のSilverlightアプリの設定の問題だと思います。
Web.config
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
</system.web>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IHelloService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="WcfService1.HelloWorld">
<endpoint address="" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IHelloService" contract="WcfService1.IHelloService" name="BasicHttpBinding_IHelloService" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="false" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
ServiceReferences.ClientConfig:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IHelloService" maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://fyp-pc13:97/HelloWorldService/HelloWorld.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IHelloService"
contract="ServiceReference1.IHelloService" name="BasicHttpBinding_IHelloService" />
</client>
</system.serviceModel>
</configuration>
誰かがこの問題で私を助けてくれますか?私は何日も設定ファイルに固執しています。どうもありがとう。