我可以在共享web服务器上使用go生成HTML吗?

我可以在共享web服务器上使用go生成HTML吗?,go,hosting,Go,Hosting,通常我使用C#处理所有事情,我可以用C#创建桌面应用程序,也可以在共享托管web服务器的dll中放置许多相同的C#代码。这为我节省了很多编码时间 用围棋有什么办法吗? e、 g.在托管的web服务器上放置某种go dll以生成HTML 我知道go不做dll,我也知道用go监听端口80创建web服务器是很简单的。但这不是一个用于共享web服务器的解决方案 这似乎是go的一个绝妙用法,让我惊讶的是,这可能不可能 我应该提到,如果go代码不必在每次http请求时重新启动,那就太好了 这就是我使用C#的

通常我使用C#处理所有事情,我可以用C#创建桌面应用程序,也可以在共享托管web服务器的dll中放置许多相同的C#代码。这为我节省了很多编码时间

用围棋有什么办法吗? e、 g.在托管的web服务器上放置某种go dll以生成HTML

我知道go不做dll,我也知道用go监听端口80创建web服务器是很简单的。但这不是一个用于共享web服务器的解决方案

这似乎是go的一个绝妙用法,让我惊讶的是,这可能不可能

我应该提到,如果go代码不必在每次http请求时重新启动,那就太好了

这就是我使用C#的方式: 在web服务器上,我添加了如下aspx页面:

<%@ Page Language="C#" %>
<%@ Register TagPrefix="MyDLL" Namespace="MyDLL" Assembly="MyDLL"%>
<MyDLL:Web Runat="Server"/>


它只是加载C#dll,该dll根据http请求生成HTML

首先,您必须设置IIS以使用fastcgi(),然后您可以像平常一样简单地构建一个go web应用程序,而不是使用http.listendServe,而是使用
fcgi.Serve

:


但请记住,可能会有多个编程实例一直在运行/销毁,因此任何临时数据(内存会话等)都应该存储在memcache或磁盘或数据库上的临时文件中。

您所说的“托管服务器”是什么意思?如果你愿意,理论上你可以作为CGI运行go。我指的是一个我每月付费的共享web服务器,它承载着我的网站。我上传文件到它。目前我有一个windows服务器,不过我可以更改它。您可能需要进一步解释您的CGI建议。您的主机是否支持(fast)CGI?是的,是的,虽然我不知道那是什么。我认为你正在做的最好的go等价物是谷歌应用引擎。这看起来像是解决方案。谢谢,我会试试。不过看起来很复杂。
func hello(w http.ResponseWriter, r *http.Request) {
    io.WriteString(w, "Hello, world of FCGI!")
}

func main() {
    http.HandleFunc("/hello/", hello)

    if err := fcgi.Serve(nil, nil); err != nil {
        log.Fatal("fcgi.Serve: ", err)
    }
}