2010-06-19 38 views
5

http ile arayüz oluşturması gereken küçük bir sunucu geliştiriyorum. Farklı olgun http sunucularında kullanılabilir olmasını istediğim gibi, FastCGI'yi ortak arayüz olarak seçtim..NET FastCGI kitaplığı var mı?

Artık FCGI arabirimini uygulayan ve benim için tüm zor işleri yapan bir (ücretsiz) .NET kitaplığı bulamıyorum. Biliyor musun?

cevap

2

Değil (Ben de arıyorum) farkında olduğumu zorluklar

Bir FastCGI sen yerine bir çocuk sürecine dinleyici soketi için bir tanıtıcı geçmesi gerektiğini görünüyor gerçeği yatıyor Normal StdIn tanıtıcı - standart. Net sınıfları (İşlem, Soket vb ...) izin vermez bir şey. Bu, bir FastCGI kitaplığının .Net uygulamasında uygulanması anlamına gelir. Sonuçta, P/Invoke çağrılarını yerel Windows işlevlerine kullanarak Proses ve Soket sınıflarının yeniden uygulanması gerekir. SharpCGI

Ayrıca

C# tamamen kullanılabilir:

+0

sayesinde gitmek olabilir. Hala böyle bir kütüphane arıyorum. Bu zorlukların farkında değildim, o zaman c kütüphanesi etrafında yerel bir sarıcı oluşturmak ve yönetilen sunucuma istekleri proxy daha kolay olurdu? – Milan

+0

@ entity64 Bu iyi bir fikir gibi geliyor - alternatif, onu bir .Net dilinde yeniden uygulamak olacaktır. – Justin

+0

İkinci noktanı anlamıyorum. Anlayışımdan, istekleri iletmek için bir (sunucu) fastcgi işlemine istemci olan web sunucusu var. Bu süreç, başka bir sunucu işlemi için müşterinin kendisi olabilir. Benim anlayışımda webserver/fastcgi arabirimini işleyen soketin sahipliğini aktarmaya gerek yok. – schoetbi

2

Geçenlerde F # böyle bir kütüphane uyguladı.

Kragen'in açıkladığı problem, .NET iç ortamını kullanarak bazı Win32 korsanlarıyla çözülmüştür. Ancak, web sunucunuzu bunun yerine FastCGI için belirlenmiş bir bağlantı noktası kullanacak şekilde yapılandırırsanız kullanmanız gerekmez.

+1

SharpCgi Mono'da çalışıyor mu ve Kragen sorunu Mono'da SharpCgi kurulumunu nasıl tanımlar? – ssn

1

Evet, SharpCGI ve FCGIDotNet gibi birçok kitaplık var, ancak bunların hepsi protokolün sunucu tarafını uyguluyorlar. Hala mevcut bir FastCGI sunucusuyla konuşmak için kod bulmaya ihtiyacım var, tüm bu kütüphanelerin yaptıklarının tam tersi (kodun tamamı% 90 aynıdır).

+0

nginx'e bir göz atın;) –

+0

@Quandary Thats C# ile yazılmadı – Muis

2

Tüm bu zamanlardan sonra buraya gelip, gelecekteki okuyuculara faydalı olabilecek C# dilinde yazılmış bir FastCGI kitaplığı yarattığımı söylemek için geldim. Ağır bir şekilde belgelenmemiştir (FastCgi oldukça basit bir standarttır, bu yüzden neden olduğunu anlayamıyorum) ama sanırım başkaları tarafından kullanılmak üzere yeterince iyi belgelenmiş.
Şu anda, bazı özellikler hala eksik olsa da, uygulama sunucuları için web sunucuları için olduğu gibi bir API ortaya çıkarır. Hala kontrol etmelisin.
Son zamanlarda çok fazla dokunmadım ama benim için gerçekten işe yarıyor (hala kullanıyorum).

NuGet veya GitHub adresinden indirebilirsiniz. FastCgiNet olarak adlandırılır.

2

Mono.WebServer'a bakın.burada
http://sourceforge.net/projects/fcgidotnet/

Ve FastCGI şartname:
https://github.com/mono/xsp/tree/master/src

de FastCGI ayrıca MÜŞTERİ burada FastCGI var
: Burada bir Owin uyumlu uygulama bulabilirsiniz http://www.fastcgi.com/devkit/doc/fcgi-spec.html


https://github.com/mzabani/Fos

Ayrıca, bu kütüphaneler de ilginçtir:


HyperFastCGI:
https://github.com/xplicit/HyperFastCgi

veya
https://github.com/gigi81/sharpfastcgi

veya #cgi
https://github.com/wmeyer/SharpCGI

sen FastCGI üzerinde fazla örnek gerekirse clien Ts, şuna bir göz Cevabınız için kütüphane

https://github.com/tomasen/fcgi_client