我已經用Bootstrap設置了一個非常基本的ServiceStack項目,我試圖讓它看到我的主頁(Razor View),它沒有,所以我得到我的主頁的快照。下面是我用來創建項目的步驟:ServiceStack不渲染剃刀視圖,只看到快照
- 新建項目「ServiceStack ASP.Net與引導」
- 開放的NuGet服務器控制檯下載misssing Servicestack包。
- 構建。
- 更名Services.cs到MyStuffServices.cs和Model.cs到MyStuffModel.cs
加進 'AppHost.cs':
SetConfig(new HostConfig { DefaultRedirectPath = "/Home" });
移動 「_layout.cshtml」 從/ veiws /共享到/ views文件夾
- 增加了 「Home.cshtml」 到/視圖
- 添加次要文字Home.cshtml
添加到MyStuffService.cs
public class HomeService : Service { [DefaultView("Home")] public int Get(Home request) { return 0; } }
加入MyStuffModel.cs:
[Route("/home", "GET")] public class Home : IReturn<int> { }
- 生成。
- 運行到Internet Explorer - 獲取快照頁面。
這裏是我的AppHost.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Funq;
using ServiceStack;
using ServiceStack.Razor;
using MyStuff.ServiceInterface;
namespace MyStuff
{
public class AppHost : AppHostBase
{
/// <summary>
/// Default constructor.
/// Base constructor requires a name and assembly to locate web service classes.
/// </summary>
public AppHost()
: base("MyStuff", typeof(MyStuffServices).Assembly)
{
}
/// <summary>
/// Application specific configuration
/// This method should initialize any IoC resources utilized by your web service classes.
/// </summary>
/// <param name="container"></param>
public override void Configure(Container container)
{
//Config examples
//this.Plugins.Add(new PostmanFeature());
//this.Plugins.Add(new CorsFeature());
this.Plugins.Add(new RazorFormat());
SetConfig(new HostConfig
{
DefaultRedirectPath = "/Home"
});
}
}
}
這裏是我的Global.asax
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
namespace MyStuff
{
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
new AppHost().Init();
}
}
}
我沒有錯誤,程序包管理器說,我絕不錯過任何軟件包。我覺得有一個我想念的一步,任何幫助,非常感謝。
更新:當與調試執行,這是我所得到的,當我打開Internet Explorer
@inherits ViewPage
@{
ViewBag.Title = "Hello World Service";
}
<div>
<div>
<input class="form-control input-lg" id="Name" type="text" placeholder="Type your name">
<p id="helloResult" style="margin-top: 15px;font-size: large"></p>
</div>
</div>
<script>
$('#Name').keyup(function() {
var name = $('#Name').val();
if (name) {
$.getJSON('/hello/' + name)
.success(function (response) {
$('#helloResult').html(response.Result);
});
} else {
$('#helloResult').html('');
}
});
</script>
這對我有用,你可以試着查看你的[?debug = requestinfo](https://github.com/ServiceStack/ServiceStack/wiki/Debugging#request-info)來查看是否有任何啓動錯誤。否則,您可以將您的解決方案添加到GitHub倉庫,以便我們調試問題所在? – mythz
使用Fiddler,我可以告訴我的請求沒有任何錯誤,並且我得到了一個響應(藍色文本,因爲我的視圖中只有HTML) –
請參閱原始問題以更新 –