WebClientオブジェクトを使用してSilverlight Webアプリケーションでテキストファイルのコンテンツを取得するのは簡単なことです。Silverlight 4 WebClientの使用OpenReadCompleted throughsホストされているWebサーバーのセキュリティ例外。それは何ですか?
ローカルサーバー上のイントラネットセットアップで機能しますが、ホストされた "hostgator"サーバーに展開すると、WebClientはセキュリティ例外を取得します。数多くのWebブログからの提案に続いて、クロスドメインアクセスポリシーとcrossdomain.xmlを試しましたが、同じドメイン上には不思議ではありません。 http://myserver.com/myapplication:port/sourcefiles/file.csv //、ソースファイルが同じウェブサイト含む仮想ディレクトリでCSVファイル
void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
if (e.Error == null)
{
try
{
using (System.IO.StreamReader reader = new System.IO.StreamReader(e.Result))
{
mainFileData = new List<string>();
string line;
}
}
catch (Exception ex)
{
string errorMessage = ex.InnerException;
}他 :
private void LoadCSVFile(string csvFile)
{
try
{
WebClient client = new WebClient();
client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
client.OpenReadAsync(new Uri(csvFile, UriKind.Absolute));
}
catch (Exception ex)
{
string errorMessage = String.Format("Ex accessing csv: {0}\n{1}", csvFile,
}}
//たcsvfileは絶対パスです{ "ここに例外の場所があります!!!!!!!そう、e.Errorはnullではありません" } }
例外のテキストを読み取りますSystem.SecurityExceptionを:System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponseでセキュリティエラー(たIAsyncResult asyncResult)など
は無い結果とgooogling 2日をお過ごしください。
助けてください。 V
Ken、ご回答ありがとうございます:(1)完全なurl = myworks.com/$ sitepreview/myworks.com:8091/sourcefiles/file1.csv。 - うん、イントラネット上の誤植(2)はポート8091のファイルにアクセスするだけです。ここ(3)は何かです。 「cvs」ファイルタイプが提供されるようサーバーに指示するにはどうすればいいですか? – val
Ken、もう一度、あなたに私にヒントを与えて、問題を解決しました。スクリプトを受け入れるために仮想ディレクトリを設定するだけでした。これがセキュリティ例外の原因でした。乾杯 – val