📄 quotesservice.cs
字号:
using System;
using System.Xml;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
[WebService(Namespace = "http://wrox.com/quotes")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class QuotesService : System.Web.Services.WebService
{
public SoapPaymentHeader paymentHeader;
[WebMethod(Description = "Returns real time quote for a given stock symbol")]
public double GetStockPrice(string symbol)
{
double price = 0;
switch (symbol.ToUpper())
{
case "INTC":
price = 70.75;
break;
case "MSFT":
price = 50;
break;
case "DELL":
price = 42.25;
break;
default:
throw new SoapException("Invalid Symbol", SoapException.ClientFaultCode,
"http://wrox.com/quotes/GetStockPrice");
}
return price;
}
[WebMethod(Description = "Returns real time quote for a given stock ticker")]
[SoapHeader("paymentHeader", Direction = SoapHeaderDirection.In)]
public double GetStockPriceWithPayment(string symbol)
{
//Process the SOAP header
if (paymentHeader != null)
{
string nameOnCard = paymentHeader.NameOnCard;
string creditCardNumber = paymentHeader.CreditCardNumber;
CardType type = paymentHeader.CreditCardType;
DateTime ExpirationDate = paymentHeader.ExpirationDate;
//Process the payment details
//.........
///End Processing
///
}
else
throw new SoapHeaderException("Invalid information in SOAP Header", SoapException.ClientFaultCode);
double price;
switch (symbol.ToUpper())
{
case "INTC":
price = 70.75;
break;
case "MSFT":
price = 50;
break;
case "DELL":
price = 42.25;
break;
default:
throw new SoapException("Invalid Symbol", SoapException.ClientFaultCode,
"http://wrox.com/quotes/GetStockPriceWithPayment");
}
return price;
}
//[PaymentAuthExtension]
[WebMethod(Description = "Returns real time quote for a given stock ticker")]
[SoapHeader("paymentHeader", Direction = SoapHeaderDirection.In)]
public double GetStockPriceWithSoapExtension(string symbol)
{
double price;
switch (symbol.ToUpper())
{
case "INTC":
price = 70.75;
break;
case "MSFT":
price = 50;
break;
case "DELL":
price = 42.25;
break;
default:
throw new SoapException("Invalid Symbol", SoapException.ClientFaultCode,
"http://wrox.com/quotes/GetStockPriceWithSoapExtension");
}
return price;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -