ServiceStack 项目实例 005 使用第一个服务功能 (在MVC项目中)
建立好服务后,我们就可以在MVC项目中使用这个服务,在使用这个服务之前,需要先确定一下它所在端口,只需要在SS项目上点右键,将其设置为启动项目,然后运行一下SS项目,在浏览器地址栏,就可以看到这个服务的端口号,并且也能看到已经添加到其中的服务。(运行的效果可以在001节中的截图看到,001节中的端口为59068。)
在MVC的Controller目录下添加一个控制器NewsController.cs,在NewsController.cs中加入一个 Action, 用来显示添加新闻的页面
publicActionResultCreate(){returnView();}
在Views目录下添加目录News,在News中新建文件Create.cshtml,或者在控制器中代码上点右键直接直接建立视图页,在Create.cshtml视图中添加
<h3>添加新闻</h3><div><formmethod="POST"id="newsStory"class="reply"><fieldset><divclass="row"><divclass="col-lg-4col-md-4col-sm-4col-xs-12"><label>标题:<span>*</span></label><inputclass="form-control"id="headline"name="headline"type="text"value=""required=""/></div><divclass="col-lg-3col-md-3col-sm-3col-xs-12"><label>日期:</label><inputclass="form-control"id="date"name="date"value=""type="text"/></div></div><divclass="row"><divclass="col-lg-12col-md-12col-sm-12col-xs-12"><label>内容:<span>*</span></label><textareaclass="form-control"id="text"name="text"rows="3"cols="40"required></textarea></div></div></fieldset><buttonclass="btn-normalbtn-colorsubmitbottom-pad"type="submit">Send</button></form></div>
在NewsController.cs 中添加一个Action,接收上一个页面的表单提交过来的数据,注意加上声明
[HttpPost],指定接收POST数据
[HttpPost]publicActionResultCreate(NewsStorynewsStory){try{varservice=newJsonServiceClient("http://localhost:59068/");service.Send<SubmissionResponse>(newSubmission(){Body=newsStory.Text,Headline=newsStory.Headline,SubmissionTime=newsStory.Date});}catch(Exceptionex){ViewBag.Message=ex.Message;}returnView();}
运行测试:
1 将SS项目设置为启动项目,运行项目启动服务,
2 启动服务后,在MVC项目上点右键,选择“调试-启动新实例”,
3 启动MVC站点后,在添加新闻的页面添加一条新闻测试,提交成功后,可以在数据库中的Submission表中看到新增的数据
4 Submission表是在DataRepository的AddSubmission函数中通过db.CreateTable<Submission>();自动创建的,不需要手工建立这个表
主要参考资料 : Getting Started with ASP.NET MVC, ServiceStack and Bootstrap
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。