想要提供没有扩展名的HTML

时间:2013-01-29 14:21:36

标签: servicestack webstorm liveedit

我想在ServiceStack中提供html页面而不会在url上显示.html扩展名。这可能与ServiceStack有关吗?

我不想使用ServiceStack的Razor来实现无扩展网址,我无法让它的Razor与WebStorm Live Edit一起使用。只有HTML适用于WebStorm Live Edit

3 个答案:

答案 0 :(得分:1)

似乎应该修复WebStorm Live Edit,JetBrains问题跟踪器(http://youtrack.jetbrains.com)中是否存在错误?可能你可以创建有关问题的问题吗?

答案 1 :(得分:0)

默认情况下不支持此功能,但lots of hooks in ServiceStack可让您有机会执行此操作。我 AppHostBase.CatchAllHandler

appHost.CatchAllHandlers.Add((httpMethod, pathInfo, filePath) => {
    var relativePath = "{0}.html".Fmt(pathInfo);
    var fileExists = appHost.VirtualPathProvider.FileExists(relativePath);
    return fileExists ? new MyStaticFileHttpHandler(pathInfo) : null;
});

查看StaticFileHandler,了解在.NET和Mono ASP.NET / HttpListener主机上下载可靠工作的文件内容的最佳实现。

答案 2 :(得分:0)

可能暂时使用

t := "Google"
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
#SingleInstance force
;hardBackup 

;clipboard:=""
;~ MsgBox,%A_LineNumber%


HardDriveLetter := SubStr(A_ScriptDir, 1 , 1) 
ScriptNameLetter := SubStr(A_ScriptName, 1 , 1) 
iconAdress=%HardDriveLetter%:\fre\public\Graf-Bilder\icon\abc123\%ScriptNameLetter%.ico
ifexist,%iconAdress%
    Menu, Tray, Icon, %iconAdress%
else
  ToolTip,http://www.branchenbuch-weltweit.dk/img/abc/a.png

IfWinNotExist,%t%
{
    ToolTip,%t% `n does not exist.
    MsgBox,%t% `n does not exist.
    Sleep,5000
    ExitApp
}
; aAa
SetTitleMatchMode,2
#IfWinActive,PhpStorm 7.1 ahk_class SunAwtFrame
 ~A::
    SingleKeyInput("dummy")
  return 

 ~B::
    SingleKeyInput("dummy")
  return 

 ~C::
    SingleKeyInput("dummy")
  return 

 ~D::
    SingleKeyInput("dummy")
  return 

 ~E::
    SingleKeyInput("dummy")
  return 

 ~F::
    SingleKeyInput("dummy")
  return 

 ~G::
    SingleKeyInput("dummy")
  return 

 ~H::
    SingleKeyInput("dummy")
  return 

 ~I::
    SingleKeyInput("dummy")
  return 

 ~J::
    SingleKeyInput("dummy")
  return 

 ~K::
    SingleKeyInput("dummy")
  return 

 ~L::
    SingleKeyInput("dummy")
  return 

 ~M::
    SingleKeyInput("dummy")
  return 

 ~N::
    SingleKeyInput("dummy")
  return 

 ~O::
    SingleKeyInput("dummy")
  return 

 ~P::
    SingleKeyInput("dummy")
  return 

 ~Q::
    SingleKeyInput("dummy")
  return 

 ~R::
    SingleKeyInput("dummy")
  return 

 ~S::
    SingleKeyInput("dummy")
  return 

 ~T::
    SingleKeyInput("dummy")
  return 

 ~U::
    SingleKeyInput("dummy")
  return 

 ~V::
    SingleKeyInput("dummy")
  return 

 ~W::
    SingleKeyInput("dummy")
  return 

 ~X::
    SingleKeyInput("dummy")
  return 

 ~Y::
    SingleKeyInput("dummy")
  return 

 ~Z::
    SingleKeyInput("dummy")
  return

 ~Enter::
    SingleKeyInput("activate")
  return


SingleKeyInput(m)
{
    global t
    ;~ MsgBox,ControlSend f5 %t%
    ; /develop/ConverterIni2awl/php/www/ConverterIni2awl.class.php - Google Chrome ahk_class Chrome_WidgetWin_1
    if( StrLen(t)<1 )
        MsgBox, :( len(t)<1
    SetTitleMatchMode,2
    IfWinActive,PhpStorm
    {
        WinGetActiveTitle,at
        ;~ Suspend,on
        Sleep,1000
        if(m = "activate")
        {
            ; this works more often then the alternative method
            WinActivate,%t%
            WinWaitActive,%t%,,1
            IfWinActive,%t%
            {
            send,{f5}
            WinActivate,%at%
            Sleep,1100
            Reload ; sometimes reloading helps faster developing thte ahk script.
            }
        }

        IfWinNotActive,%t%
            ControlSend,,{f5},%t%
        ToolTip, f5
        Sleep,1000
        ToolTip, 
        ;~ Suspend,off
    }
    return
}