質問

私は、アイテムの更新にSharePointのイベントレシーバー、その火災を作成しました。 受信機は、アクセスAfterPropertiesとのListItemを必要とします。

ときは、IPアドレスを使用してSharePoint Webアプリケーションからイベントレシーバを発射( http://10.0.4.50/sites SPItemEventPropertiesにサイトIDとWebUrlにアクセスする際に/ に)、それは、のにFileNotFoundExceptionのをスローします。 http://10.0.4.50/sites/companyNameするでWebアプリケーションが見つかりませんでした。あなたが正しくURLを入力したことを確認します。

サイトコレクションのセットアップ時に指定したホスト名を使用して、イベントの受信機を発射するの ます。http:// computerhostname /サイト/のcompanyName を。この作品の罰金は、例外がスローされない。

//Combine Both AfterProperties And ListItem
var ListProperties = new List<KeyValuePair<string, object>>();
ListProperties.AddRange(properties.AfterProperties.ToKeyValue());
ListProperties.AddRange(properties.ListItem.ToKeyValue(p => !p.Sealed));
var AvaliableProperties = ListProperties.Distinct(new KeyValueComparer<object>());
役に立ちましたか?

解決

これは必ずしもSharePointの問題ではなく、IISがホスト上で構成されている方法に最も可能性の高いダウンしています。特定のサイトには、IPアドレスとホスト名に「結合」、およびホスト名は、ブラウザによって送信されるHTTP GETに存在しない場合、その後404 NOT FOUNDを返しますIISます。

することができます

あなたはIPアドレスでサイトにアクセスできるかどうかを確認するために、ブラウザを使用してこれを確認することができます。

あなたはそう、1つのサイトは(あなたのケースでは)10.0.4.50で存在することができ、必要に応じて追加のバインディングを追加することができますが、唯一のIPアドレスごとにバインディング1「デフォルト」があることができます。

複数のサイトが存在していますが、ホスト名を使用できないような状況の周りの可能な方法は、あなたのURLがhttp://10.0.4.50:8080/sites/companyNameのようなものになってしまうので、このIPのポート80以外のポートにバインドを追加するかもしれません。

他のヒント

これは単にIISの問題ではありませんが、Sharepointのは、同様に関連します。 SharePointの中で参照する多くの出発点として、URLを使用して行われます(ただのSPSiteのコンストラクタを見てください)。 urlは、既知のURLのSharePointの構成データベース内に比べて、その後です。 (およびサイトのコンテンツデータベース内のファイルなどOFR)。

SharePointでは、Webアプリケーションの「ゾーン」(デフォルト、イントラネット、インターネット、...カスタム定義)に異なるURLを割り当てるために代替アクセスマッピングと呼ばれるシステムを使用しています。それは正確な "URLを見つけられない場合、(特に非常に「URL敏感」で検索)、内部のものは失敗します。

その後、IISの一部は場に出る:IISはおそらく80ポート上で実行されている他のサイトを持っていない、と特定のhostheader(MACHINENAMEデフォルトそれはそう)、またはマシン名にhostheaderセットとせずに、IISが選択されますので、要求次第とSharePointは、このWebアプリケーションに縛られているため、SharePointはそれを処理しようと、SharePointはURLとthne「休憩」を見つけられない、URLを検索します。

いいえhostheader発生しますが、hostheaderフィールドを離れるときは、SharePointの新しいWebアプリケーションを作成するときに空にするます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top