2015-11-10 40 views
0

我正在使用VS2012和ServiceStack 4.0.46。我已經設置了一個按預期工作的Web服務。我現在需要設置第二個Web服務,它可以調用第一個Web服務。ServiceStack添加引用DTO問題

在我的第二個Web服務中,我嘗試將ServiceStack引用添加到第一個服務。然而,這主要是工作文件中創建我得到

/* Options: 
Date: 2015-11-11 09:25:20 
Version: 4.046 
BaseUrl: http://nlc20030:8008/api 

//GlobalNamespace: 
//MakePartial: True 
//MakeVirtual: True 
//MakeDataContractsExtensible: False 
//AddReturnMarker: True 
//AddDescriptionAsComments: True 
//AddDataContractAttributes: False 
//AddIndexesToDataMembers: False 
//AddGeneratedCodeAttributes: False 
//AddResponseStatus: False 
//AddImplicitVersion: 
//InitializeCollections: True 
//IncludeTypes: 
//ExcludeTypes: 
//AddDefaultXmlNamespace: http://schemas.servicestack.net/types 
*/ 

using System; 
using System.Collections; 
using System.Collections.Generic; 
using System.Runtime.Serialization; 
using ServiceStack; 
using ServiceStack.DataAnnotations; 
using NLC.Library; 
using Waste.Collection; 
using Wards; 
using Syndication.RSS; 
using AbandonedVehicle; 
using Search.Address; 
using Waste.Collection.Asbestos; 
using Waste.Collection.Asbestos.SinceDate; 
using Waste.Collection.Bulky; 
using Waste.Collection.Bulky.SinceApril; 
using Waste.Collection.Bulky.SinceDate; 
using Calendar.BinCollection; 
using Calendar; 
using Search.Civica.Client; 
using Search.Civica; 
using Dog.Fouling.Cleanse; 
using Waste.Litter.Cleanse; 
using Search.Confirm; 
using CrossSystem; 
using Dog; 
using DateInfo.English; 
using Encrypt; 
using Flytipping; 
using ; 
using Dog.Fouling.Investigate; 
using Waste.Litter.Investigate; 
using IsValid.NINO.ECS; 
using IsValid.NASS; 
using IsValid.NINO; 
using IsValid; 
using IsValid.PostCode; 
using IsValid.UPRN; 
using IsValid.USRN; 
using Job; 
using Job.Recent; 
using Light; 
using LLPG; 
using LLPG.Property; 
using Requests; 
using Noise; 
using Odour; 
using VictoriaForms; 
using Waste.PrivateProperty; 
using Encrypt.RC4.Hex; 
using Encrypt.RC4; 
using Search; 
using Smoke; 
using SOA.Call.Environment; 
using SOA.Call.Environment.Operations; 
using SOA.Call.Environment.Operations.System.IsError; 
using SOA.Call.Environment.Operation.System.IsError.StartRecord; 
using SOA.Call.Environment.Operations.System; 
using SOA.Message; 
using SOA; 
using Search.Street; 
using Waste.Collection.Tomorrow.Feed; 
using Waste.Collections.Tomorrow; 

這便使我發出

我已經檢查了DTO的我原來的web服務,有出現

using ; 

線沒有什麼不合適的。如果我刪除上面的行,它會在我保存文件時重新出現。

我已經清楚地做了錯事,但我不知道該如何找出

+0

你沒有提供關於這可能是造成問題的任何細節,所以沒有機會任何人都可以找出問題。你至少可以在生成的DTO的開頭張貼標題選項和所有命名空間。 – mythz

+0

嗨,Mythz,感謝您的快速回復。我編輯了這個問題,希望現在已經包含了足夠的信息。 – steve

回答

1

經過一番調查,我已經發現這個問題的根本原因,它是,因爲我本來懷疑,我的錯。我將其追蹤到一個特定的服務,結果get方法使用錯誤的類,它碰巧具有與預期的請求DTO相同的名稱。

所以我不得不

Public Class HonorificService 
    Inherits ServiceStack.Service 

    Public Function [Get](request As Honorific) As Object 

當我應該有

Public Class HonorificsService 
    Inherits ServiceStack.Service 

    Public Function [Get](request As Lookups.Honorific) As Object 
+0

ok看起來像是因爲你是Type在默認的VB.NET命名空間。修復了[在此提交中]發出的默認命名空間(https://github.com/ServiceStack/ServiceStack/commit/1b81467abe2d0237871f91bf5bee22f05256fc82),可在下一版v4.0.48發佈。 – mythz

+0

再次感謝mythz的快速回復 – steve