在没有IIS的情况下托管Silverlight

时间:2009-09-22 16:07:42

标签: .net silverlight iis

有没有办法在.NET应用程序中嵌入Web服务器或其他方法,以便GUI可以作为Silverlight应用程序呈现?目前我们有一个客户端/服务器应用程序。我们使用套接字来回传递和传递消息。一种想法是将其作为Silverlight解决方案重新设计。用户只需将浏览器指向特定端口上的服务器并进行连接即可。

我可以使用IIS来提供Silverlight(XAML),但希望通过嵌入Web服务器或其他方式来实现此目的。


编辑 - 进一步解释:

我们决定在WPF中构建新版本的应用程序,但对于Silverlight& WPF。传统上,我们会使用服务器上的Windows服务和客户端上的Windows窗体应用程序构建此类应用程序,并且每个应用程序都将通过套接字进行通信。 “这种类型的应用程序”我的意思是一个处理“东西”的Windows服务和一个客户端应用程序,它允许您配置服务并查看其当前状态等。我认为这不是构建套接字层而是必须解析消息当他们在客户端和服务器之间来回切换时,我们可能能够构建一个Silverlight应用程序,并让用户只需通过他们的浏览器连接到服务器。这意味着我不必安装客户端应用程序(除了Silverlight之外)并将删除通信层。我想要删除对具有IIS的服务器以及我们可能需要对IIS执行的任何配置的依赖。

也许我看着这一切都错了......可能是我对WPF / Silverlight / XAML的'新鲜感'


5 个答案:

答案 0 :(得分:4)

Silverlight只是一个标准的HTML <object>,所以它可以通过任何可以提供HTML的东西来提供。但是,它似乎是一个客户端/服务器解决方案的奇怪架构。对于你所描述的内容,我会看看:

  • Silverlight浏览器外应用程序
  • 通过ClickOnce提供的WPF应用程序
  • 从网站加载但使用Silverlight's socket support
  • 与现有后端通信的Silverlight应用程序

您能解释一下为什么要构建自定义服务器而不是上述方法之一吗?

答案 1 :(得分:1)

.NET确实提供了实现HTTP服务器所需的管道而没有极大的困难。

以下是一个code project示例。

答案 2 :(得分:1)

如果我正确理解您的要求,Silverlight 3浏览器外的应用程序将为您提供两全其美的优势:

  • 易于安装
  • 易于推送给用户
  • 可以从启动栏/桌面快捷方式启动
  • 可以脱机运行(他们称之为分离状态),因此如果您的服务器关闭,您可以通过本地应用程序很好地通知用户,而不是浏览到在线SL网址并获得404。
  • 本地存储
  • 轻松推送应用程序更新

答案 3 :(得分:0)

在构建浏览器外Silverlight应用时查看此链接: http://msdn.microsoft.com/en-us/magazine/dd882515.aspx

答案 4 :(得分:0)

如果您想避免使用IIS,可以选择以下选项:Serving up Silverlight without IIS/webserver