我一直在捣乱我的大脑以解决这个问题。我在这里遵循MSDN“简化配置”模型,对于.net 4.0 - http://msdn.microsoft.com/en-us/library/ee358768.aspx
当我尝试点击网址时出现此错误 - http://localhost:62392/GetBuildings.svc/GetBuildings?numberOfPeople=2,4&amountOfTime=1&needComputer=true&dateSelected=12/1/2012
该服务似乎实际运行,我没有完整的IIS错误,但我没有得到预期的数据。如何评估我的端点是否设置正确?
我的web.config -
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0" />
<authentication mode="None"/>
</system.web>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="webHttpBehavior">
<webHttp/>
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="false"/>
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<webHttpBinding>
<binding name="webHttpBindingJsonP" crossDomainScriptAccessEnabled="true"></binding>
</webHttpBinding>
</bindings>
<protocolMapping>
<add scheme="http" binding="webHttpBinding" bindingConfiguration="webHttpBindingJsonP" />
</protocolMapping>
</system.serviceModel>
</configuration>
我的界面 -
Imports System.ServiceModel
Imports System.ServiceModel.Web
<ServiceContract()>
Public Interface IGetLibrariesService
<OperationContract(Name:="LibraryData")> _
<WebGet(ResponseFormat:=WebMessageFormat.Json)> _
Function GetLibraries(ByVal numberOfPeople As String, ByVal amountOfTime As Integer, ByVal needComputer As Boolean, ByVal dateSelected As String) As BuildingReturnData
End Interface
最后,我的代码 -
<DataContract()>
Public Class BuildingReturnData
<DataMember()>
Public libData As List(Of LibraryMobileData)
<DataMember()>
Public numberOfRooms As List(Of Integer)
<DataMember()>
Public totalRecordCount As Integer
End Class
<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Allo wed)>
Public Class MeetingRooms : Implements IGetLibrariesService
Private _libData As New List(Of LibraryMobileData)
Private _roomCountData As New List(Of Integer)
Public Function GetBuildings(numberOfPeople As String, amountOfTime As Integer, needComputer As Boolean, dateSelected As String) As BuildingReturnData Implements IGetLibrariesService.GetLibraries
Dim libTemp As New LibraryMobileData
Dim startPeople, endPeople, recordCount As Integer
Dim numberSplitArr As String()
numberSplitArr = Split(numberOfPeople, ",")
startPeople = numberSplitArr(0)
endPeople = numberSplitArr(1)
For x = 0 To endPeople
libTemp.LibraryId = x
libTemp.Name = "library " & x
libTemp.Latitude = 39.167107
libTemp.Longitude = -86.534359
_libData.Add(libTemp)
_roomCountData.Add(x + startPeople)
recordCount = x
Next
Dim temp As New BuildingReturnData
temp.libData = _libData
temp.numberOfRooms = _roomCountData
temp.totalRecordCount = recordCount
Return temp
End Function
End Class