我搜索了如何在c#中以编程方式为windows 7 / vista制作小工具,最后我下载了一个名为SilverLightGadgetDebugger的可视化工作室解决方案:
SilverlightGadgetDebugger项目的目的只是作为 一个调试会话启动器 Silverlight小工具。即使它是一个控制台应用程序项目,它也不会产生任何输出。 相反,每当项目启动时,它将调用SidebarSandboxStarter.exe文件。 此应用程序接收当前解决方案路径作为命令行参数。 它使用此信息连接到已打开指定解决方案的Visual Studio。 SidebarSandboxStarter将调试器从Visual Studio实例附加到Windows边栏 进程(sidebar.exe)。如果该过程未启动,则会启动它。
我添加了一个Image silverlight控件,我试图从这个网址获取图片:
http://lunaf.com/images/moon-phases/lunar_phase_20.jpg
我搜索了如何获取图像,我尝试了这段代码:
private void DownloadImage()
{
string ImagePath = "http://lunaf.com/images/moon-phases/lunar_phase_20.jpg";
WebClient client = new WebClient();
client.OpenReadCompleted += client_OpenReadCompleted;
if (ImagePath.IndexOf("http") < 0)
{
string URL = System.Windows.Browser.HtmlPage.Document.DocumentUri.AbsoluteUri;
ImagePath = URL.Substring(0, URL.LastIndexOf('/')) + "/" + ImagePath;
}
client.OpenReadAsync(new Uri(ImagePath, UriKind.RelativeOrAbsolute), ImagePath);
}
void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
try
{
BitmapImage ImageToLoad = new BitmapImage();
ImageToLoad.SetSource(e.Result as Stream);//Here is the exception
Image1.Source = ImageToLoad;
}
catch (Exception ex)
{ }
}
我得到一个例外,它的消息(ex.message):
操作期间发生异常,导致结果无效。 检查InnerException是否有异常细节。
内在的例外:
{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.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
at System.Net.WebClient.OpenReadAsyncCallback(IAsyncResult result)}
如何解决这个问题?