DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ASP.NETで別のサーバに実行部を置いた場合ののScriptManagerの動作

環境/言語:[ASP.NET 4.0 (Visual Studio 2010)C#で記述]
分類:[ASP.NET]

今、事情があってWEBサーバを2台に分けています
それで、違うサーバのAJAX対応WCFサービスの関数を呼び出したいのですが、
権限がありませんと言う(まあ当たり前と言えば当たり前なのですが・・・)エラーになってしまいます

ですがどうしても、別のサーバのその関数を呼び出したいのですが、
何か方法はないでしょうか

サーバ同士はIPアドレスで直接アクセスするようになっています

●サービス側(Service1.svc.cs)
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class Service1
{
// HTTP GET を使用するために [WebGet] 属性を追加します (既定の ResponseFormat は WebMessageFormat.Json)。
// XML を返す操作を作成するには、
// [WebGet(ResponseFormat=WebMessageFormat.Xml)] を追加し、
// 操作本文に次の行を含めます。
// WebOperationContext.Current.OutgoingResponse.ContentType = "text/xml";
[OperationContract]
public void DoWork()
{
//・・・・
//いろいろ記述・・・・
return;
}

}


●呼び出し側
javascriptの記述
< type="text/javascript">
function onClick(){
Service1.DoWork(); //●この関数が権限エラー
}
</script>

Script Managerの記述
<!-- ●http://192.168.1.100のなかのサービスを自分のサーバに持ってくるとちゃんと動く -->
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="http://192.168.1.100/folder/Service1.svc" />
</Services>
</asp:ScriptManager>
■No32002に返信(とんがり帽子さんの記事)
> 今、事情があってWEBサーバを2台に分けています
> それで、違うサーバのAJAX対応WCFサービスの関数を呼び出したいのですが、
> 権限がありませんと言う(まあ当たり前と言えば当たり前なのですが・・・)エラーになってしまいます
>
> ですがどうしても、別のサーバのその関数を呼び出したいのですが、
> 何か方法はないでしょうか

JSONP をキーワードにググると解決策が見つかるかもしれません。

DOBON.NET | プログラミング道 | プログラミング掲示板