私は単純にメソッドwhchがasp.net 4 ashxから文字列を取得することに問題があります。私はこのasp.netアプリケーションによってホストされているSilverlightアプリケーションから以下のメソッドを実行しています。URIプレフィックスが認識されませんOnDownloadStringCompleted
private void LoadPlugins()
{
var serviceAddress = _baseAddress
+ "PluginsService.ashx?"
+ DateTime.Now.Ticks;
var client = new WebClient();
client.DownloadStringCompleted += client_DownloadStringCompleted;
client.DownloadStringAsync(new Uri(serviceAddress));
}
void client_DownloadStringCompleted(
object sender,
DownloadStringCompletedEventArgs e)
{
var plugins = e.Result.Split(
new string[] { Environment.NewLine },
StringSplitOptions.RemoveEmptyEntries);
foreach (var plugin in plugins)
{
AddXap(_baseAddress + plugin);
}
}
PluginsService.ashx.cs:
namespace MefPlugins.Web
{
/// <summary>
/// Summary description for PluginsService
/// </summary>
public class PluginsService : IHttpHandler
{
private const string PluginsFolderName = "Plugins/";
public void ProcessRequest(HttpContext context)
{
//var pluginFolder = new DirectoryInfo(
// HttpContext.Current.Server.MapPath(
// PluginsFolderName));
//var response = new StringBuilder();
//if (pluginFolder.Exists)
//{
// foreach (var xap in pluginFolder.GetFiles("*.xap"))
// {
// response.AppendLine(
// PluginsFolderName + xap.Name);
// }
//}
var response = new StringBuilder();
response.Append("test");
context.Response.ContentType = "text/plain";
context.Response.Write(response);
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
私はエラーを取得する:
System.Reflection.TargetInvocationExceptionは メッセージ=例外が作って、運転中に発生したユーザーコードで未処理でした結果は無効です。例外の詳細については、InnerExceptionをチェックしてください。 のStackTrace:System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary(W )System.Net.DownloadStringCompletedEventArgs.get_Result(W )MefPlugins.MainPage.client_DownloadStringCompleted(オブジェクト送信者、DownloadStringCompletedEventArgs E)System.Net.WebClient.OnDownloadStringCompleted W (DownloadStringCompletedEventArgs W e) w System.Net.WebClient.DownloadStringOperationCompleted(Object arg) InnerException:System.Net.WebException メッセージ= WebClient要求中に例外が発生しました。 InnerException:System.NotSupportedException メッセージ= URIプレフィックスが認識されません。 のStackTrace:System.Net.WebClient.DownloadStringAsync(URIアドレス、オブジェクトはUserToken)W System.Net.WebClient.GetWebRequest(URIアドレス) W System.Net.WebRequest.Create(URI requestUri) WのInnerException:
どこにバグがありますか?これは、例ですhttp://www.galasoft.ch/sl4u/code/chapter20/20.02-Mef/MefPlugins.zip
あなたは私がこれを尋ねるだろうと知っていました... URIプレフィックスは何ですか? '_baseAddress'はどのように見えますか? –
あなたがそれにいる間。 「例外詳細のInnerExceptionを確認」の内容( – Eddy
)serviceAddressが "file:////PluginsService.ashx?634485607882333736" – user278618