GUI pre chat zo stránky   zodpovězená otázka

VB.NET

Serbus , podla návodu na tejto stránke http://steveorr.net/articles/WebChat.asp... som postavil chat ktorý fičí na web stránke. Potreboval by som ho, ale spojazdniť cez niaky GUI napríklad napísaný vo Visual Basic-u .NET .

Problém je vtom že ciest je nato vela , ale nie každá je "múdra" a efektívna. Pozor , to že stačí umiestniť do formy webbrowser a použiť navigate na zjednodušenú verziu stránky pre GUI chat to je mi jasné. Ale ja by som potreboval napríklad ked užívatel minimalizuje okno aby sa automaticky kazdých 5 sekund posielala na stránku správa napríklad "<_Minimized_>" a do chatu by som uz pripisal kod aby to spracoval a na ikonke pouzivatela by sa zmenila na modrú teda že je mimo :) .

Napadla niekoho niaka rozumná cesta ako to vyriešiť ?

PS: mozno by to slo cez SendKeys , ale tam je problém ze ked je minimalizovana ta aplikacia tak sa klavesi poslu na prave najvrchnejsie okno :/ . Zdrojak je na stranke otvoreny a volne siritelny takze by som tam mohol dopisat nieco cez co by sa spojila GUI aplikacia s web dll kniznicou cez ktoru funguje ten chat , problem je ze neviem ako :/ .

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak ja by som si do projektu webovej aplikácie pridal wcf service, tam vytvorím nejaké rozhranie pre komunikáciu medzi webovou aplikáciou a windows forms aplikáciou(teda klient), každú metodu tohto rozhrania v triede toho wcf service označím atribútom WebMethod().

Potom otvorím projekt windows forms aplikácie(toho klient), add service reference, dám mu url na súbor toho wcf service.

Potom v konštruktore formu urobím do premennej novu inštanciu triedy z tej service reference a môžem priamo zavolať z tej triedy hociktorú metódu označenú atribútom WebMethod() a o samotný prenos požiadavku na server a odpovede naspäť na klient sa to postará samo.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

fú , kusok kodu mi prosim neviete napisat ? bol by som velmi vdacny . Hlavne by mi velmi pomohlo to "do projektu webovej aplikácie pridal wcf service, tam vytvorím nejaké rozhranie pre komunikáciu medzi webovou aplikáciou a windows forms aplikáciou" . Keby st ebol taky dobry a urobil to premna a napriklad by ste hodili ten projekt na sendspace.com alebo len kod tu na forum.

Velmi pekne dakujem.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No prepáčte, ale keď to tak prvý krát v živote skúšam pre Vás, tak som si všimol že to ani nemá byť WCF Service ale Web Service, ale používa sa to tak, ako som napísal.

Takže otvoril som si webový projekt.V Solution exploreri pravým na projekt, Add New Item, Web Service, pomenujem, Enter.

Vygenerovalo to už pripravený súbor pre service aj s metódou HelloWolrd().

Potom som spravil nový projekt, v solution exploreri pravým na projekt, Add Service Reference, napísal som URL toho súboru.

Klikol som na Go, potom som rozbalil celý ľavý Treeview, WebServiceSoap a potvrdil dialóg

A výsledkom malého prieskumu dostupných možností bolo niečo takéto:

Imports ClassLibrary1.ServiceReference1
Public Class Class1
    Dim s As New ServiceReference1.WebServiceSoapClient
    Public Sub New()
        s.HelloWorld()
    End Sub
End Class

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Velmi pekné :-) dakujem. Bohuzial na konci mám problém s tím rozblením Treeview a pridaním WebServiceSoap :/ . Nemohli by ste prosím ten web projekt a aplikaciu (klient) uploadovat na niaky server napríklad sendspace.com prosím ? :-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pošlete mi URL toho súboru .asmx ? Alebo to máte na lokálnom stroji? Pomôže aj zoznam položiek v treeview. A napríklad, zadal ste správnu url súboru .asmx ? Máte zapnutý nejaký server(na lokálnom PC to môže byť aj Web Developer Server, ten zapnete spustením projektu z Visual Web Developeru, alebo prípadne IIS) ? A ešte, aby sa zobrazili položky v tom treeview, treba kliknúť na tlačidlo hneď vľavo od textboxu na url, myslím že sa volá Go. Moje zdrojové kódy Vám nepomôžu, pretože časť projektu sa vygeneruje práve podľa konkrétneho service a teda by to spolupracovalo s mojím web service(ten súbor .asmx)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

tu je url toho .asmx : http://g1majamc.somee.com/WebService.asm... . Ano server mam zapnuty tak ako na lokalnom pc tak aj na servery od somee.com . Ale zistil som ze ked to hodim na server somee.com a potom chcem pridat do references ten web service tak sa to neda :( . Netreba tam niaka autentifikacia prosim ?

A myslim ze s tim tlacitkom co sa vola Go by bolo dobre keby ste spravili screenshot lebo ani za svet ho nemozem najst :/

nahlásit spamnahlásit spam 0 odpovědětodpovědět

No z tej adresy mi server hlási 404 Not Found, určite ste tam ten súbor dal? A ešte by som sa na Vašom mieste pozrel do web.config na tú autentifikáciu, alebo môžete tu dať obsah súboru web.config do príspevku? Dialóg na pridanie u mňa vyzerá následovne:

http://img190.imageshack.us/img190/7717/dummym.png

A skúste sa pripojiť z vaším klientom na môj web service(url: http://stanoweb.aspone.cz/WebService.asm... ) a napíšte, ako to dopadlo

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ten váš link je uplne perfektny , velmi rychlo sa nacitalo a aj add reference ide v poriadku. Pardon ten moj link je takýto : www.g1majamc.somee.com/Service.asmx .

Tu je link na zdrojovy kod toho projektu tak sa prosim pozrite aka je tam chyba : http://www.sendspace.com/file/nn16co

Tu je webconfig :

<?xml version="1.0"?>
<!-- 
    Note: As an alternative to hand editing this file you can use the 
    web admin tool to configure settings for your application. Use
    the Website->Asp.Net Configuration option in Visual Studio.
    A full list of settings and comments can be found in 
    machine.config.comments usually located in 
    \Windows\Microsoft.Net\Framework\v2.x\Config 
-->
<configuration>
    <appSettings/>
    <connectionStrings/>
    <system.web>
        <!-- 
            Set compilation debug="true" to insert debugging 
            symbols into the compiled page. Because this 
            affects performance, set this value to true only 
            during development.

            Visual Basic options:
            Set strict="true" to disallow all data type conversions 
            where data loss can occur. 
            Set explicit="true" to force declaration of all variables.
        -->
        <compilation debug="false" strict="false" explicit="true" />
        <pages>
            <namespaces>
                <clear />
                <add namespace="System" />
                <add namespace="System.Collections" />
                <add namespace="System.Collections.Specialized" />
                <add namespace="System.Configuration" />
                <add namespace="System.Text" />
                <add namespace="System.Text.RegularExpressions" />
                <add namespace="System.Web" />
                <add namespace="System.Web.Caching" />
                <add namespace="System.Web.SessionState" />
                <add namespace="System.Web.Security" />
                <add namespace="System.Web.Profile" />
                <add namespace="System.Web.UI" />
                <add namespace="System.Web.UI.WebControls" />
                <add namespace="System.Web.UI.WebControls.WebParts" />
                <add namespace="System.Web.UI.HtmlControls" />
            </namespaces>
        </pages>
        <!--
            The <authentication> section enables configuration 
            of the security authentication mode used by 
            ASP.NET to identify an incoming user. 
        -->
        <authentication mode="Windows" />
        <!--
            The <customErrors> section enables configuration 
            of what to do if/when an unhandled error occurs 
            during the execution of a request. Specifically, 
            it enables developers to configure html error pages 
            to be displayed in place of a error stack trace.

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
    </system.web>
</configuration>

tu je Service.asmx :

<%@ WebService Language="vb" CodeBehind="~/App_Code/Service.vb" Class="Service" %>

tu je Service.vb :

Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols

<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class Service
    Inherits System.Web.Services.WebService

    '<WebMethod()> indicates that this is a web service method
    <WebMethod()> _
    Public Function HelloFryan() As String
        Return "Hello Fryan!"
    End Function

    <WebMethod()> _
    Public Function AddThis(ByVal Num1 As Integer, ByVal Num2 As Integer) As Integer
        Return Num1 + Num2
    End Function
End Class

A prosim nemohli by ste uploadovat ten vas projekt na sendspace.com ? mne nevadi ze je to vygenerovane podla vasho projektu , len by som chcel najst rozdiely :-)

Velmi Vám dakujem ze mi pomahate.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak vo web.config nevidím chybu, ale skúsil by som zmeniť autentifikáciu takto:

   <Authetication mode="Forms" />

Keď nepomôže, kontaktujte poskytovateľa serveru, kde to máte nahrané(t.j. somee.com). Ani mne neukáže ten service, keď sa pripájam na odkaz, ktorý ste mi poskytol, ale ak Váš webový projekt rozbehám na Web Developer serveri, tak môžem normálne pridať odkaz na to service.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Bohuzial "<Authetication mode="Forms" />" nepomohlo :( . Nemohli by ste prosim ten vas projekt uploadovat na sendspace.com ? Velmi vas oto prosim naozaj by mi to moc pomohlo :-) .

nahlásit spamnahlásit spam 0 odpovědětodpovědět

VYtvoril som si ucet na aspone.cz a Add References funguje :D . Super ! Velmi vam dakujem za pomoc :-) .

A prosim ked si pridam tu references tak dalej ako zavolam funkciu HelloWorld aby sa vykonal prikaz "Return "HelloWorld" " ktory je definovany vo web service ?

Teda napriklad by som si ti predstavoval takto :

Dim s As New cz.aspone.api.Service
TextBox1.Text = s.HelloWorld

nahlásit spamnahlásit spam 0 odpovědětodpovědět

_UZAVRETE_ , problem je vyrieseny a vsetko funguje :-)

Velmi pekne dakujem za vsetku pomoc a ochotu pri rieseni mojho problemu :-) prajem prijemny den.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A ked hodim ten rpojekt na web a snazim si ho pridat ako web references do GUI aplikacie tak sa to neda a pise to : The HTML document does not contain Web service discovery information. resp. tlacitko add reference nie je mozne stlacit :(

Nebude tam treba niaka autentifikacia alebo co ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback