Riesco ad aprire un winform (control) in un webform ma ho un problema

giovedì 29 settembre 2005 - 09.40

andreapavia Profilo | Senior Member

riesco ad aprire un windowusercontrol (che si presenta tale e quale a un winform) in una pagina aspx vi do il mio codice in modo che possiate provarlo e testarlo in breve tempo

questo mio esperimento potrebbe essere di aiuto a molti
vi do le mie istruzioni e cio che faccio

1)
a)
costruisco un progetto window presisamente un
WindowsControlLibrary nuovo e tengo il nome di default che da dotnet:

WindowsControlLibrary1
b)
inserisco un nuovo file Controllo utente (usercontrol) e lo chiamo
FileOpenDialogInWebForm.vb

inserisco un oggetto OpenFileDialog (dalla tendina windows form)
2 bottoni e una textbox.... il codice vb è il seguente

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
OpenFileDialog1.ShowDialog()
TextBox1.Text = OpenFileDialog1.FileName
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
System.Diagnostics.Process.Start(TextBox1.Text)
End Sub
c)
genero e copio la dll nella wwwroot del server



2)
costriusco una banalissima pagina aspx che richiami (dall'html) la dll del control sul server

questo il codice da copiare nell'HTML

*****************************************************************

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebClient.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</head>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
</form>
<OBJECT id="mydialog" classid="http://localhost/WindowsControlLibrary1.dll#WindowsControlLibrary1.FileOpenDialogInWebForm" VIEWASTEXT>
</OBJECT>

</body>
</html>


***************************************************

lancio l'aspx e nel browser mi viene aperto questo controllo (il win control)


ma mi da un'eccezione legata ai permessi:

SecuryException..... legata ai permessi
Request for the permissio of type
System.Security.Permission.FileIOPermission, mscorlib
Version=1.0.5000, Culture=neutral,
PublicKeyToken=b77a5c561934e089 failed.


°°°°°°°°°°°°°°°°°°° ECCEZIONE °°°°°°°°°°°°°°°°°°°°


See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Security.SecurityException: Request for the permission of type System.Security.Permissions.FileIOPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.
at System.Security.CodeAccessSecurityEngine.CheckHelper(PermissionSet grantedSet, PermissionSet deniedSet, CodeAccessPermission demand, PermissionToken permToken)
at System.Security.CodeAccessSecurityEngine.Check(PermissionToken permToken, CodeAccessPermission demand, StackCrawlMark& stackMark, Int32 checkFrames, Int32 unrestrictedOverride)
at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark)
at System.Security.CodeAccessPermission.Demand()
at System.Windows.Forms.IntSecurity.DemandFileIO(FileIOPermissionAccess access, String fileName)
at System.Windows.Forms.FileDialog.get_FileName()
at WindowsControlLibrary1.FileOpenDialogInWebForm.Button2_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 c

FrancescoGuadagno Profilo | Senior Member

Vado un po a senso....

probabilmente il tuo controllo (che in windows form non avrebbe problemi) sotto il web tenta di accedere a delle locazioni che in realtà non sono sotto la wwwroot

www.codesensitive.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5