加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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这可能很有用.如果您需要任何其他细节,请与我们联系.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读