雖然呼叫Web服務方法,我得到的錯誤如下:錯誤在裏面Linq查詢web服務我想
GenericException
時發生意外錯誤。 值不能爲空。
參數名稱:源 在System.Linq.Enumerable.Where [TSource](IEnumerable的1 source, Func
2謂詞)
在QuotingGate.CalcsLV.Casco.Standard.Ergo.Calculate(VehicleQuotingParameters參數,CascoQuote &引號)在C:\項目\ XXX \ Web服務\ QuotingGate \ CalcsLV \卡斯科\標準\ Ergo.cs:線152
在QuotingGate.CalcsBase.CalculatorBase`4.Quote(在參數)在C:\項目\ XXX \ Web服務\ QuotingGate \ CalcsBase \ Base.cs:線138
在Ergo.cs line 152
有這樣的LINQ查詢:
var territory = from c in prices.premiums where c.tariffParam3 == "LV" select c;
一派,發現很多情況下,有Single
代替SingleOrDefault
..但在我的情況下,其LINQ和繼電器不要緊,有沒有什麼結果,或者沒有,對不對?
價格都在這裏設置:
...
policyDataKASKORetParam1 prices = null;
prices = ws.GetCascoQuotesUnregistered(quote,
parameters.Vehicle.VIN,
parameters.Vehicle.Make,
parameters.Vehicle.Model,
parameters.Vehicle.ManufactureDate.Value.Year,
parameters.Vehicle.Value.Value,
parameters.Vehicle.EngineCapacity ?? 0,
parameters.Insurance.StartDate.Value,
parameters.Insurance.Currency.ToString(), irJaunakLiet, parameters.Client.Code, parameters.Vehicle.OwnerCode, irDefinetieServisi);
enter code here
...
和方法調用:
public policyDataKASKORetParam1 GetCascoQuotesUnregistered(CascoQuote quote, string vin, string make, string model, int year, int vehicleValue, int engine, DateTime policyStartDate, string currency, bool irJaunakLiet, string clientCode, string ownerCode, bool irDefinetieServisi)
{
policyDataKASKORetParam1 prices;
string personCode = string.IsNullOrWhiteSpace(Config.FixedOwnerCode) ? clientCode : Config.FixedOwnerCode;
DateTime start = policyStartDate;
DateTime issue = DateTime.Today;
prices = WS.getOfferDataKASKO(SessionKey,
personCode, // Holder Code
null,
null,
vin,
make,
model, // Model
year, // Year
engine, // Engine
string.Empty, // Usage
ownerCode, // Person Code
true,
false,
false,
false,
false,
false,
true,
false,
irJaunakLiet,
false,
irDefinetieServisi,
false, // TODO: All risks
(double)vehicleValue,
currency,
issue,
start,
null,
0d,
null,
null);
if (prices.status != 0)
quote.ErrorList.Add(new QuoteBase.Error(Errors.InsurerError, string.Format("Error message: {0}", prices.statusText)));
return prices;
}
基本上最後的方法調用了Web服務方法..所以都在一起,我可以假設Web服務不會返回任何東西,或者可能存在其他可能性,爲什麼它結束爲空。 (不知道如何調試它,它在遠程服務器上運行..試圖WCF跟蹤,但沒有任何結果..)
問題是在另一個國家和商界人士告訴我,所有的Web服務應該工作所以他們說我的price.premiums不是零..但沒有調試,不能真正與他們爭論。我應該讓客戶端運行Web服務並在本地機器上運行它嗎?或者有沒有另外一種可能性來查看運行實例的值?
此外,他們說,Web服務還沒有改變 - 我也知道100%是我的代碼沒有被改變,以及所有工作得很好像10天前..
(PS我少年誰的導師已經離開..〜只有4個月經驗)
你肯定prices.premiums沒有空? –