c# – IE将URL视为下载而不是HTML页面
发布时间:2020-12-15 21:52:20 所属栏目:百科 来源:网络整理
导读:我正在使用自托管ServiceStack开发本地服务器.我硬编码了一个演示网页,允许它在localhost:8080 /页面访问: public class PageService : IServicePage{ public object Execute(Page request) { var html = System.IO.File.ReadAllText(@"demo_chat2.html");
我正在使用自托管ServiceStack开发本地服务器.我硬编码了一个演示网页,允许它在localhost:8080 /页面访问:
public class PageService : IService<Page> { public object Execute(Page request) { var html = System.IO.File.ReadAllText(@"demo_chat2.html"); return html; } } // set route public override void Configure(Container container) { Routes .Add<Page>("/page") .Add<Hello>("/hello") .Add<Hello>("/hello/{Name}"); } 它适用于Chrome / Firefox / Opera,但IE会将该网址视为下载请求,并宣传“您是否要从localhost打开或保存页面?” 我该怎么做才能让IE将网址视为网页? (我已经在演示页面中添加了doctype标题;但是这不能阻止IE将其视为下载请求.) 编辑. 好.我在访问localhost时使用了Fiddler来检查响应. IE和Firefox获得的响应完全相同.在标题中,内容类型写为: Content-Type: text/html,text/html Firefox将此内容类型视为text / html,但IE无法识别此内容类型(它只识别单个文本/ html)! 所以这让我相信这是由于SS中的一个错误. 解 一种解决方案是明确设置内容类型: return new HttpResult( new MemoryStream(Encoding.UTF8.GetBytes(html)),"text/html"); 解决方法
我不知道你的确切问题是什么.如果你想提供html页面,有一种不同的方式来做到这一点.
Servicestack支持razor引擎作为插件,如果你喜欢提供html页面,你也可以用它来绑定数据.这里解释了不同的做法. razor.servicestack.net这可能很有用.如果您需要任何其他细节,请与我们联系. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |