C# 未处理的安全异常
我使用以下方法从网站获取响应流-C# 未处理的安全异常,c#,silverlight,exception,C#,Silverlight,Exception,我使用以下方法从网站获取响应流- HttpWebRequest request; WebResponse response; private void button1_Click(object sender, RoutedEventArgs e) { string url = textBox1.Text; request = WebRequest.Create(url) as HttpWebRequest; request.BeginG
HttpWebRequest request;
WebResponse response;
private void button1_Click(object sender, RoutedEventArgs e)
{
string url = textBox1.Text;
request = WebRequest.Create(url) as HttpWebRequest;
request.BeginGetResponse(AfterRequest, null);
}
public void AfterRequest(IAsyncResult result)
{
response = request.EndGetResponse(result);
using (StreamReader sd = new StreamReader(response.GetResponseStream()))
{
string resultString = sd.ReadToEnd();
}
response.Close();
}
但是,当代码到达时,代码会中断-
response = request.EndGetResponse(result);
显示错误消息-
SecurityException was unhandled by user code
是什么导致了这个问题
这完全是个例外-
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.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
at System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult result)
System.Security.SecurityException--->System.Security.SecurityException:安全错误。
位于System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse(IAsyncResult asyncResult)
在System.Net.Browser.BrowserHttpWebRequest.c_uDisplayClassA上。b__9(对象发送状态)
在System.Net.Browser.AsyncHelper.c__DisplayClass4.b__1(对象发送状态)中
---内部异常堆栈跟踪的结束---
位于System.Net.Browser.AsyncHelper.BeginNoui(SendOrPostCallback beginMethod,对象状态)
位于System.Net.Browser.BrowserHttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
在System.Net.WebClient.GetWebResponse(WebRequest请求,IAsyncResult结果)
在System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult结果)
如果您需要从Silverlight的其他网站/域提供内容,请参阅以下指南:
我希望这会有所帮助。如果您需要从Silverlight的其他网站/域提供内容,请参阅以下指南:
我希望这会有所帮助。我通过创建一个web方法解决了这个问题,该方法完全按照前端代码在后端web服务中所做的,然后在前端调用它,我之前已经通过添加这些文件实现了跨域访问策略。我通过创建一个web方法解决了这个问题,该方法与前端代码在后端web服务中所做的完全相同,然后在前端调用它,我之前已经通过添加这些文件实现了跨域访问策略。您的“请求”对象在AfterRequest方法中来自哪里?我通常会将此对象作为IAsyncResult的状态传递,并在回调(AfterRequest)中将其抛出抱歉我忘记了现在添加的那些凭据,您熟悉此错误吗?我唯一能想到的是您正在导致跨域冲突?(即,您是否从其他网站/域请求内容?)如果不是这样,您能否捕获异常并将所有详细信息粘贴到您的问题中?我正在尝试使用silverlight前端访问网站是。您的“请求”对象在AfterRequest方法中来自何处?我通常会将此对象作为IAsyncResult的状态传递,并在回调(AfterRequest)中将其抛出抱歉我忘记了现在添加的那些凭据,您熟悉此错误吗?我唯一能想到的是您正在导致跨域冲突?(即,您是否从其他网站/域请求内容?)。我很确定这与此有关,但是Silverlight错误有时是毫无帮助的。这两个文件都在我的web服务目录中。我很确定这与此有关,但是Silverlight错误有时是毫无帮助的。我真的被这件事难住了。