2012-09-21 33 views
0

我們有一個asmx web服務,可以在32位windows server 2008上正常工作,但是當它位於64位服務器2008 r2機器上時,它會給出一個「索引超出了數組邊界「。當試圖訪問該服務的JavaScript文件時:服務器上的asmx webservice錯誤2008 r2 64bit

http://www.site.com/Service.asmx/js outputs「索引超出了數組的範圍」。在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; 
} 

任何想法?

回答

1

原來這與IIS 7.5這是定義爲

<add name="*.asmx_*" path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv2.0" /> 

所有需要的是,以除去前提=「integratedMode,runtimeVersionv2.0」爲.axmx <system.webServer />配置節和處理程序,並將其做清除了索引超出界限的錯誤。

相關問題