如何_properly_从自托管WCF服务提供XAP文件?

时间:2011-06-12 13:40:03

标签: vb.net wcf streaming xap self-hosting

我自己有一个自托管的WCF服务器设置,它提供clientaccesspolicy.xml和index.htm,它只是指向我的xap(可通过app.xap访问)。

我目前通过以下代码为他们提供服务:

Public Function GetPolicy() As System.IO.Stream Implements IClientAccessPolicy.GetPolicy

    WebOperationContext.Current.OutgoingResponse.ContentType = "application/xml"
    Return New IO.MemoryStream(IO.File.ReadAllBytes("Server Files/ClientAccessPolicy.xml"))

End Function

Public Function GetIndex() As IO.Stream Implements ISilverlightServer.GetIndex

    WebOperationContext.Current.OutgoingResponse.ContentType = "text/html"
    Return New IO.MemoryStream(IO.File.ReadAllBytes("Server Files/index.htm"))

End Function

Public Function GetXap() As IO.Stream Implements ISilverlightServer.GetXap

    WebOperationContext.Current.OutgoingResponse.ContentType = "application/x-silverlight-app"
    Return New IO.MemoryStream(IO.File.ReadAllBytes("Server Files/app.xap"))

End Function

它有效,是我做的工作。但是,我不认为这会正确地传输xap,我知道它是一种流媒体类型。如果这不是正确的流式传输,我该如何流式传输呢?

(XAP和index.htm文件通过的端点具有webHttpBinding绑定)

它是否正常流式传输?或者我应该做些改变吗?

1 个答案:

答案 0 :(得分:2)

没关系,XAP文件不需要流式传输到客户端。实际上,它需要首先完全下载(因此在客户端缓冲)才能启动SL应用程序,因此在这种情况下您无需担心流式传输。