我正在使用OpenRasta 2.0,並在託管應用程序中進行託管。如何在OpenRasta中返回靜態HTML和/或Javascript
我希望能夠回到這種設置一些靜態的HTML頁面和JavaScript文件,例如: /index.html /jquery.js
的文件是完全靜態的,即沒有處理程序或資源是必需的。
我添加了相應的文件添加到項目,並初步嘗試了以下語法:
ResourceSpace.Has
.ResourcesOfType<object>()
.AtUri("/")
.HandledBy<HtmlHandler>()
.RenderedByAspx("~/Views/IndexView.aspx");
.aspx文件被添加到下的文件夾「意見」的項目,並設置構建動作到'嵌入式資源'。這會導致嘗試解析虛擬路徑時運行時出現NullReferenceException。如果我將文件的構建操作設置爲「編譯」,那麼它將不會編譯,我猜測是因爲控制檯項目不理解ASPX。
我也曾嘗試以下簡寫語法此可如果引用的WebForms編解碼器:
ResourceSpace.Has
.TheUri("/jquery.js")
.ForThePage("~/Views/jquery.js");
但是從同樣的問題我最初的方法,這受苦,但不會刪除一個虛擬處理器的需要。據我所知,WebForms編解碼器不能在控制檯應用程序中使用,因爲無法編譯ASPX文件。
我能夠使用Razor編解碼器返回HTML,因爲這需要嵌入視圖模板。但是 - 我無法使用相同的技術返回具有適當媒體類型的JavaScript文件,並且必須將我的其他靜態文件轉換爲使用@resource定義的.cshtml文件。
我無法在線找到任何使用OpenRasta返回靜態HTML和/或JavaScript的示例。我希望爲此找到一個專用的配置API,如「TheUri」語法,但獨立於WebForms編解碼器。
我可以創建自己的「EmbeddedFileHandler」返回一個靜態嵌入式文件的內容,但我覺得我失去了一些東西,因爲這是這樣一個簡單的使用案例......
我的問題確切地說,只有我希望爲Silverlight xap存檔提供服務。 – mark
@mark我做了一篇博客文章,描述我如何解決這個問題:http://liddellj.im/post/8638364010/serving-static-content-using-openrasta-2-0。希望它是有用的。 –