2009-09-15 50 views
0

讓我前言本(因爲我知道我會在答覆最終得到這個)部署的.NET Web SERVICS

  • 是的,我知道WCF,但我們不會使用或計劃,現在(老闆不會讓步)

好了,我的問題有以下幾種。首先,我想將我們的一些.asmx移動到一個單獨的項目中。現在它在我們的WAP項目的幾個分散的文件夾中。好吧,如果我創建一個新項目:

1)它應該是什麼類型? 2)我現在必須面對哪些部署問題?有人告訴我,如果我們把它移動到一個單獨的項目,我們必須單獨部署它,我假設這意味着IIS,並且是,將該項目複製到服務器上的另一個地方。 3)有人告訴我,如果我們移動它在WAP項目中,我們不能再在我們的域名(something.com)下運行該服務。但是有人告訴我,你可以設置一個單一的Web服務作爲「傳遞」,並在你想要的地方有實際的.asmx文件?我不明白。

主要關心的是移動它。如何展示該Web項目中的服務,因爲我們將擁有多個項目。如何部署(包括文件和IIS),然後如何確保它在生產環境中的相同域中仍然可用。

+0

我認爲你需要在更小的部分重寫問題究竟是什麼,它很混亂。 – 2009-09-15 15:09:17

+0

阿卡什說什麼。 – jro 2009-09-15 15:17:49

+0

好吧,我認爲這很清楚。我有3個問題。對不起。 – PositiveGuy 2009-09-15 15:30:27

回答

1

同意,創建一個新的Web服務項目。

有讓您的Web服務被部署在旁邊IIS您現有的網站沒有任何問題。

創建現有站點的URL www.something.com然後內IIS添加一個虛擬目錄或應用程序爲了MyService,讓你得到www.something.com/myservice/awesome.asmx。

您還可以創建自己的備用主機頭直接webservices.something.com你的web服務。

3

asmx文件只是一個指向C#代碼文件的指針。您可以在Web項目的任何位置包含asmx文件。

您可以創建在Visual Studio IDE中的Web服務項目,或簡單地創建一個類庫,並添加必要的引用。

Web服務項目使用下列DLL:

  • 的System.EnterpriseServices
  • 的System.Web
  • System.Web.Extensions程序
  • System.Web.Mobile
  • 的System.Web 。服務

而下面的web.config和借鑑e:

<configSections> 
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
    <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> 
     <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
     <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" /> 
     <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
     <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
     <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
     </sectionGroup> 
    </sectionGroup> 
    </sectionGroup> 
</configSections> 


<httpHandlers> 
     <remove verb="*" path="*.asmx"/> 
     <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
</httpHandlers> 
+0

所以如果我創建一個類庫,你是在說只是添加引用到你的編碼依賴的其他項目或....什麼樣的引用到底是什麼? – PositiveGuy 2009-09-15 15:27:06

+0

我正在談論物理移動.asmx文件到一個單獨的項目本身。 – PositiveGuy 2009-09-15 15:31:34