SilverLightアプリケーションのボタンを含むSharePointログインページを使用しています。ログインページはクライアント側でロードされ、ボタンを押すことによって、SilverLightアプリケーションはクライアントマシンにインストールされているローカルWCFサービスを開き、OTPを生成する必要がありますが、私の場合はこれは起こっていません。URI http:// localhost:XXXXX/XXXXにリクエストを作成しようとしてエラーが発生しました
私が使用しているWCF Uriはこのhttp://localhost:12345/serviceのようなものです。ログインページのボタンを押すと、呼び出しがhttp://localhost:12345/clientaccesspolicy.xmlになることが気付きました。
私はClientAccessPolicy.xmlとCrossDomain.xmlをシステムのルートフォルダとプロジェクトフォルダに配置しました。
私もWCFサービスを介してClientAccessPolicy.xmlを与えることを試みているが、それはここで
を働いていませんでしたが、エラーの完全なスタックトレースです。{System.ServiceModel.CommunicationException: An error occurred while trying to make a request to URI 'http://localhost:XXXXX/XXXXX'.
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__0(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 SLLogin.iCubeWCFsvc.Service1Client.Service1ClientChannel.EndGenKey(IAsyncResult result)
at SLLogin.iCubeWCFsvc.Service1Client.SLLogin.iCubeWCFsvc.IService1.EndGenKey(IAsyncResult result)
at SLLogin.iCubeWCFsvc.Service1Client.OnEndGenKey(IAsyncResult result)
at System.ServiceModel.ClientBase`1.OnAsyncCallCompleted(IAsyncResult result)}