Как _properly_ обслуживать файл XAP из собственной службы WCF? - PullRequest
1 голос
/ 12 июня 2011

У меня есть собственная серверная установка 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 Ответ

2 голосов
/ 13 июня 2011

Хорошо, XAP-файл не обязательно должен быть потоковым для клиента.На самом деле, для запуска SL-приложения его нужно сначала полностью загрузить (таким образом, буферизовать на клиенте), поэтому вам не нужно беспокоиться о потоковой передаче в этом случае.

...