نمایش نتایج 1 تا 11 از 11

نام تاپیک: با asp.net چطور یک دایرکتوری روی سرور ایجاد کنم؟

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1384
    پست
    34

    با asp.net چطور یک دایرکتوری روی سرور ایجاد کنم؟

    من میخوام بتونم برای بعضی کاربرها بر اساس نام کاربریشون روی سرور دایرکتوری بسازم.
    ببخشید اگه سوال پیش پا افتاده میپرسم.
    وقتی از دستور


    directory.createdirectory(server.MapPath(" ")& "\" &txtSubject.text)


    استفاده میکنم روی localhost خوب جواب میده اما روی سرور هاستم خطا میگیره.
    کلافه شدم از بسکه با این server.mappath ور رفتم ... :cry:

  2. #2
    سلام

    البته من مطمین نیستم ولی این کد را در وب کانفیگ قرار بده ببین کار می کنه

    	<authentication mode="Windows" />
    <identity impersonate="true"/>
    Kochol Game Engine
    http://www.kge3d.org



  3. #3
    کاربر دائمی آواتار M.GhanaatPisheh
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    ----------
    پست
    1,267
    شما روی هاستتون اجازه خواندن و نوشتن روی اون مسیر رو ندارید
    با هاستتون تماس بگیرید و مشکل رو بگید.

  4. #4
    به احتمال زیاد نداشتن مجوز منجر به بروز خطا می شود.
    با دیدن متن خطا بهتر می توان قضاوت کرد.

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1384
    پست
    34
    جناب kochol عزیز اون کد رو توی وب کانفیگ گذاشتم ولی جواب نداد!
    من توی دریمویور کد مینویسم و وب کانفیگ من الان این شکلیه:



    <!-- Web.Config Configuration File -->
    <configuration>
    <system.web>
    <customErrors mode="Off"/>
    </system.web>
    <authentication mode="Windows" />
    <identity impersonate="true"/>
    </configuration>

    بهروز جان اینم متن خطا ولی با وجود اینکه من این کدی رو که توی خطا اومده در وب کانفیگم نوشتم اما باز هم اصل مشکل رو مشخص نمیکنه و دوباره همین پیغام رو مینویسه.







    من برای آپلود فایل روی هاست مشکلی ندارم ولی برای ایجاد دایرکتوری از طریق .net مشکل دارم.
    منظورم اینه که اگه اجازه نوشتن نداشتم پس نمیتونستم فایل هم آپلود کنم. درست نمیگم؟!
    البته الان متوجه شدم که فایل متنی هم نمیتونم بسازم !!

    باید توی یه کنترل textbox به اسم txtSubject نام فایل رو بگیره و توی یکی دیگه به اسم txtContent متن رو بگیره و بفرسته برای ذخیره شدن توی سرور. اما اصلا صفحه باز نمیشه که بخواد متنی بگیره. یعنی به مرحله submit نمیرسه.

    این کد رو آپلود کردم اما خطا میگیره


    <script language="vb" runat="server">

    Sub page_load(Sender As Object,E As EventArgs)
    If page.IsPostBack then

    directory.createdirectory(server.MapPath("/dailynews")& "\" &txtSubject.text)
    dim fp as StreamWriter = New StreamWriter(server.MapPath("dailynewstxt" )&"\" & txtSubject.text & ".txt")
    fp.write(cstr(txtContent.Text))
    fp.close

    end if
    End Sub

    </script>




    ولی با وجودیکه روی localhost خیلی خوب جواب میده روی سرور این پیغام میاد




    Runtime Error
    Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

    Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".


    <!-- Web.Config Configuration File -->

    <configuration>
    <system.web>
    <customErrors mode="Off"/>
    </system.web>
    </configuration>


    Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.


    <!-- Web.Config Configuration File -->

    <configuration>
    <system.web>
    <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
    </configuration>



  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1384
    پست
    34
    بهروز جان اینم متن خطا ولی با وجود اینکه من این کدی رو که توی خطا اومده در وب کانفیگم نوشتم اما باز هم اصل مشکل رو مشخص نمیکنه و دوباره همین پیغام رو مینویسه.

  7. #7
    متن خطا همچنان نامشخص است.
    در توضیحات خطا هم ذکر شده، برای اینکه Remote ها هم بتوانند متن خطا را مشاهده کنند، خاصیت customErrors را برابر با off قرار دهید.
    سپس خطا را در اینجا بنویسید.

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1384
    پست
    34
    من که CustomErrors را off کردم!
    کد وب کانفیگ بالای پست هست اگر اشکالی داره لطفا بهم بگین.

  9. #9
    در صورتی که کد زیر در فایل Web.Config شما وجود داشته باشد، عدم نمایش جزئیات خطا محال است.
    مشکل شما از جای دیگه ایه!!!

    <configuration>
    <system.web>
    <customErrors mode="Off" />
    </system.web>
    </configuration>

    در ضمن، شما چرا از Windows Authentication استفاده می کنید!!!
    اگر در حال ایجاد یک Intranet باشید، Windows Authentication گزینه مناسبی است در غیر اینصورت باید از Forms Authentication استفاده کنید.
    به هر حال...
    راه دیگه ای که به نظرم می رسه، استفاده از تابع ای پی آی mkdir هست.

    Declare Function _mkdir Lib "msvcrt.dll" (ByVal path As String) As Integer

    Shared Function crearDirectorio(ByVal path As String) As DirectoryInfo
    Dim returnCode As Integer = _mkdir(path)
    If returnCode <> 0 Then
    Throw New ApplicationException("Error calling DLL " + path + "), Error Code: " + returnCode.ToString())
    End If
    Return New DirectoryInfo(path)
    End Function

    اگر با خطای Unable to Load DLL، مواجه شدید، میتونید از فایل kernel32.dll استفاده کنید.
    البته تمامی این راهها جنبه پیشنهادی داشت، به احتمال 90 درصد، Permission شما باید تنظیم شود.

  10. #10
    کاربر تازه وارد
    تاریخ عضویت
    فروردین 1384
    پست
    34
    حق با شما بود. سرویس دات نت روی هاست من فعال نشده بود و مشکل برایم ایجاد میکرد. از راهنمایی شما متشکرم.

  11. #11

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •