32 ビット Windows サーバー 2008 で正常に動作する asmx Web サービスがありますが、64 ビット サーバー 2008 r2 マシンでホストされている場合、「インデックスが配列の境界外でした」というメッセージが表示されます。サービスの JavaScript ファイルにアクセスしようとすると、次のようになります。
http://www.site.com/Service.asmx/jsは「インデックスが配列の範囲外でした」と出力します。64 ビットでホストされている場合のみ
サービスコードは次のようになります。
[WebService(Namespace = "http://www.company.com")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ToolboxItem(false)]
[ScriptService]
public class Saver : WebService
{
/// <summary>A web service to save a set of ScheduleEntryProperties objects.</summary>
[WebMethod]
public string SaveEntries(Entry[] entries, object start, object end, string assignmentIDs, string deptID, string useCodes)
{
...
}
そして Entry オブジェクト:
[Serializable]
public class Entry
{
public Entry()
{
}
public Entry(object assignmentID, object date, object hours, object text)
{
AssignmentID = assignmentID;
Date = date;
Hours = hours;
Text = text;
}
public object Date;
public object AssignmentID;
public object Text;
public object Hours;
}
何か案は?