首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

这样的语法什么意思?解决方案

2012-01-06 
这样的语法什么意思?[return:XmlElement( StockQuote )]这种算什么属性?StockQuoteRequest([XmlArray(Is

这样的语法什么意思?
[return:   XmlElement( "StockQuote ")]
这种算什么属性?  
     
StockQuoteRequest([XmlArray(IsNullable   =   true),   XmlArrayItem( "Symbol ",   IsNullable   =   false)]   string[]   symbols)
这种参数的意思有是什么?

有什么相关资料吗?


        [WebMethod]
        [SoapDocumentMethod(ResponseElementName   =   "StockQuotes ")]
        [return:   XmlElement( "StockQuote ")]
        public   List <StockQuote>   StockQuoteRequest([XmlArray(IsNullable   =   true),   XmlArrayItem( "Symbol ",   IsNullable   =   false)]   string[]   symbols)
        {
                List <StockQuote>   quotes   =   new   List <StockQuote> ();

                foreach   (String   symbol   in   symbols)
                {
                        StockQuote   quote   =   new   StockQuote();
                        quote.Symbol   =   symbol;
                        if   (symbol   ==   "FABRIKAM ")
                        {
                                quote.Name   =   "Fabrikam,   Inc. ";
                                quote.Last   =   120.00;
                                quote.PreviousChange   =   5.5;
                        }
                        else
                        {
                                quote.Name   =   "Contoso   Corp. ";
                                quote.Last   =   50.07;
                                quote.PreviousChange   =   1.15;
                        }
                        quotes.Add(quote);
                }
                return   quotes;
        }

[解决办法]
http://www.microsoft.com/taiwan/msdn/library/2005/Aug-2005/newwse3.htm
[解决办法]
String[] symbols = { "FABRIKAM ", "CONTOSO " };


StockQuote[] quotes = serviceProxy.StockQuoteRequest(symbols);


[WebService(Namespace = "http://stockservice.contoso.com/wse/samples/2005/10 ")]
[Policy( "ServerPolicy ")]
public class WSSecurityUsernameService : System.Web.Services.WebService
{
public WSSecurityUsernameService()
{
}
[WebMethod]
public List <StockQuote> StockQuoteRequest([XmlArray(),
XmlArrayItem( "Symbol "] string[] symbols)
{
// Business logic here
}
}

[解决办法]
XmlArrayAttribute.IsNullable
如果 IsNullable 属性设置为 true,则为已设置为 空引用的类成员生成 xsi:nil 属性。例如,如果将名为 MyStringArray 的字段设置为 空引用,则 XmlSerializer 将生成下面的 XML 代码。
<MyStringArray xsi:nil = "true " />
如果 IsNullable 属性为 false,则不生成任何 XML 元素。


MSDN:IsNullable


[解决办法]
应该是MS的一个独特的申明一些相关属性的方法,比如像开发自定义控件和webservice的时候那些属性也要先这样申明一下

// WelcomeLabel.cs
using System;
using System.ComponentModel;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Samples.AspNet.CS.Controls
{
[
AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal),
AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level=AspNetHostingPermissionLevel.Minimal),
DefaultProperty( "Text "),
ToolboxData( " <{0}:WelcomeLabel runat=\ "server\ "> </{0}:WelcomeLabel> ")
]
public class WelcomeLabel : WebControl
{
[
Bindable(true),
Category( "Appearance "),
DefaultValue( " "),
Description( "The welcome message text. "),
Localizable(true)
]
public virtual string Text
{
get
{
string s = (string)ViewState[ "Text "];
return (s == null) ? String.Empty : s;
}
set
{
ViewState[ "Text "] = value;
}
}

protected override void RenderContents(HtmlTextWriter writer)
{
writer.WriteEncodedText(Text);
if (Context != null)
{
string s = Context.User.Identity.Name;
if (s != null && s != String.Empty)
{
string[] split = s.Split( '\\ ');
int n = split.Length - 1;
if (split[n] != String.Empty)
{
writer.Write( ", ");
writer.Write(split[n]);
}
}
}
writer.Write( "! ");
}
}
}
[解决办法]
以下应用于 WelcomeLabel 的 Text 属性 (Property) 的属性 (Attribute) 是标准设计时属性 (Attribute),通常会将标准设计时属性 (Attribute) 应用于控件的所有公共属性 (Property):

BindableAttribute(被指定为 true 或 false),指定将属性绑定到数据对可视化设计器是否有意义。例如,在 Visual Studio 2005 中,如果属性标记为 Bindable(true),则该属性可显示在“数据绑定”对话框中。如果属性 (Property) 没有使用此属性 (Attribute) 标记,则属性 (Property) 浏览器会推断其值为 Bindable(false)。

CategoryAttribute 指定如何在可视化设计器的属性浏览器中对属性进行分类。例如,当页开发人员使用属性浏览器的分类视图时,Category( "Appearance ") 将告知属性浏览器在“外观”类别中显示属性。可以根据属性浏览器中的现有类别指定字符串参数,也可以创建自己的类别。



DescriptionAttribute 指定属性的简短描述。在 Visual Studio 2005 中,属性浏览器将在“属性”窗口底部显示选定的属性的描述。

DefaultValueAttribute 指定属性的默认值。此值应与从属性访问器 (getter) 返回的默认值相同。在 Visual Studio 2005 中,DefaultValueAttribute 允许页开发人员通过在“属性”窗口中唤出快捷菜单然后单击“重置”按钮将属性值重置为其默认值。

LocalizableAttribute(指定为 true 或 false)指定本地化属性对可视化设计器是否有意义。当某属性标记为 Localizable(true) 时,可视化设计器会在对本地化资源进行序列化时包含该属性。对控件轮询可本地化的属性时,设计器会将此属性值保存到非特定于区域性的资源文件或其他本地化源中

热点排行